MVC5 中不断变化的 Url 参数

Everchanging Url Parameter in MVC5

我在查看 Jquery BootGrid 时遇到了一个奇怪的问题。 BootGrid post 是 ajax Post 中的一个参数,它根据任何给定的请求改变身份。

考虑到我的 MVC5 操作的 post 中的排序参数每次生成 post 时都可能不同,如下所示:-

 sort[forename]='asc' 
 sort[forename]='desc' 
 sort[surname]='asc'
 sort[surname]='desc'
 sort[dateofbirth]='asc'
 sort[dateofbirth]='desc'

用我的 Action 捕捉这个问题的最优雅的方法是什么method.I 很难看到如何处理这个问题,我需要弄清楚 属性 我需要订购哪个 属性在什么方向,但从上面的例子中提取出来似乎很困难。

您可以这样搜索http://jsfiddle.net/a14v0cqc/7/

var lookFor = [ "forename", "surname", "dateofbirth" ];
var sort = [];

sort['dateofbirth']='desc'

 function whichIsPopulated(){
     var value = "";
     $(lookFor).each(function(i, key){
         if(typeof sort[key] !== 'undefined'){
             value = key;
             return;    
         }
     });

     return value;
 };

 function valuePopulated(){
     return sort[whichIsPopulated()];
 };

alert(whichIsPopulated());
alert(valuePopulated());

如果您向 lookFor 数组添加另一个值,它也会进行检查。

希望这就是您要找的。

在您的服务器函数上捕获排序参数:

Dictionary<string, string> sort

值示例:

sort[Description] = asc //(key = Description, value = asc)

键是要排序的字段,值是方向。 始终检查是否只是字典中的一个元素,因为如果未选择任何字段,则参数有 2 个元素:

sort[controller]= controller name, sort[action] = action name 

对我有用。查看应传递给函数的所有参数的示例

[HttpPost]
public JsonResult yourfunction(int current, int rowCount, string searchPhrase, Dictionary<string, string> sort) 

Javascript代码

var grid = $("#grid").bootgrid({
    /* static URL */
    ajax: "true",
    url: "/controller/yourfunction"});