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

ASP.Net QueryString Sort Parameter with Dojo JsonRest Memory Store

我制作了一个 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();

查看调试器,我看到以下内容(我需要更多 post 图片 :( )

好的,我可以看到以下变量保存了这个值。

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

但数组为空。

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

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

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

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

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