gpt4 book ai didi

javascript - ASP.NET MVC 中的模型绑定(bind)数组

转载 作者:行者123 更新时间:2023-11-28 09:07:21 25 4
gpt4 key购买 nike

我正在使用Tablesorter目前正在使用 Ajax 实现服务器端分页。 Tablesorter 支持对多列进行排序,并在单击第一列时使用以下 URL:

http://example.com/tablesorter/json?page=0&size=25&column[0]=1

上面的内容与我的(Tablesorter) Controller 操作配合良好:

public JsonResult Json(int 页,int 大小,int[] 列)

但是,如果我仅按第二列排序,则会调用以下 URL,这会导致列为空。我猜是由于缺少零索引值。

http://example.com/tablesorter/json?page=0&size=25&column[1]=1

所以我的问题是:我是否可以使用其他类型对给定的 Tablesorter 格式进行建模绑定(bind),或者我是否必须重写 Tablesorter 的 URL 格式?

按多列排序时,格式为:

http://example.com/tablesorter/json?page=0&size=25&column[0]=1&column[1]=1

最佳答案

您可以使用customAjaxUrl option根据需要修改 ajax url。

也许使用 jQuery 的 $.param() 函数会有帮助?

ajaxUrl: 'http://example.com/tablesorter/json?page={page}&size={size}',
customAjaxUrl: function(table, url) {
// sortList = [[1,0], [2,0]]
var sort = $.param({ column : table.config.sortList });
// result: "column[0][]=1&column[0][]=0&column[1][]=2&column[1][]=0"
return url + '&' + sort;
}

如果该格式不起作用,那么可能需要进行一些服务器端调整?

<小时/>

如果您必须定义所有列,请尝试以下代码:

ajaxUrl: 'http://example.com/tablesorter/json?page={page}&size={size}',
customAjaxUrl: function(table, url) {
var i, v,
c = table.config,
s = c.sortList; // sortList = [[1,0], [2,0]]
for (i = 0; i < c.columns; i++){
v = 2;
if ($.tablesorter.isValueInArray(i, s)) {
$.each(s, function(j){
if (s[j] && s[j][0] === i) {
v = s[j][1];
}
});
}
// 0 = ascending; 1 = descending; 2 = unsorted
url += '&column[' + i + ']=' + v;
}
// result: "&column[0]=2&column[1]=0&column[2]=0&column[3]=2&column[4]=2"
return url;
}

如果这不起作用,那么我不知道该告诉你什么,因为我对 ASP.NET 和模型绑定(bind)了解不多。您可能想查看this answer也是如此。

关于javascript - ASP.NET MVC 中的模型绑定(bind)数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16857973/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com