带有 Dojo JsonRest 内存存储的 ASP.Net QueryString 排序参数

Posted

技术标签:

【中文标题】带有 Dojo JsonRest 内存存储的 ASP.Net QueryString 排序参数【英文标题】:ASP.Net QueryString Sort Parameter with Dojo JsonRest Memory Store 【发布时间】:2015-06-24 22:57:23 【问题描述】:

我制作了一个 gridx 网格,它使用来自 dojo 框架的 JsonRest 内存存储 http://dojotoolkit.org/reference-guide/1.10/dojo/store/JsonRest.html

问题是我不知道如何从查询字符串中提取排序参数。

从 JsonRest 调用格式化的 url 是

/admin/sales?sort(+DealershipName)

使用以下语句会给我一个空错误

String sort = Request.QueryString["sort"].ToString();

查看调试器,我看到以下内容(我需要更多代表来发布图像:()

好的,我可以看到以下变量包含此值。

Request.QueryString =   sort(+DealershipName)
type :     System.Collections.Specialized.NameValueCollection         
System.Web.HttpValueCollection

但数组为空。

我想我可以做两件事。自己解析字符串或重载 dojo JsonRest Memory 存储。解析字符串似乎更容易,但如果有人有任何想法或知道任何可以帮助我的库。我将不胜感激。

【问题讨论】:

【参考方案1】:

dojo/store/JsonRest 有一个 sortParam 属性,您可以将其设置为要使用的标准查询参数的名称,而不是 sort(...)(它默认使用它来避免与任何标准查询参数发生冲突)。

例如,将sortParam: 'sort' 添加到传递给JsonRest 构造函数的属性将导致查询字符串包含sort=+DealershipName

http://dojotoolkit.org/reference-guide/1.10/dojo/store/JsonRest.html#sorting

如果+ 也存在问题,您还可以将ascendingPrefix 覆盖为空字符串('')。请注意,降序排序仍将由前导 - 指示(可通过 descendingPrefix 控制)。

【讨论】:

非常感谢,我不知道我是怎么错过的。

以上是关于带有 Dojo JsonRest 内存存储的 ASP.Net QueryString 排序参数的主要内容,如果未能解决你的问题,请参考以下文章

无法访问 Dojo JsonRest 存储中的数据,目标是 PHP

dojo gridx 不会从 JSONRest 存储中读取 - 我在这里缺少啥?

带有自定义 JsonRest 的网格不加载数据

xpages gridx jsonREST 和查询/搜索

Dojo + DataGrid + JsonRest + 自定义 json

如何在没有 REST 请求的情况下在 GUI 中基于 dojo.store.jsonrest 对 Dojo DataGrids 进行排序?