gpt4 book ai didi

jquery - MVC 4 Jquery DataTable 分页丢失模型引用

转载 作者:行者123 更新时间:2023-12-01 01:01:43 24 4
gpt4 key购买 nike

这是我的 table 的 View 。当我回发到 Controller 时,我的模型将为我提供 ListUsers 中的项目,并设置“InGroup”= true 的属性(如果选中)以及检查的 UserId。这完全可以正常工作。

          <table id="tblAvailableFranchisees">
<thead>
<tr>
<th>Franchisee</th>
<th>Email Address</th>
<th><input type="checkbox" /></th>
</tr>
</thead>
<tbody>
@for (int i = 0; i < Model.ListUsers.Count; i++)
{

<tr id="@Model.ListUsers[i].UserId">
@Html.HiddenFor(m => m.ListUsers[i].UserId)
<td>@Html.DisplayFor(m => m.ListUsers[i].DisplayName)</td>
<td>@Html.DisplayFor(m => m.ListUsers[i].EmailAddress)</td>
<td>@Html.CheckBoxFor(m => m.ListUsers[i].InGroup)</td>


</tr>
}
</tbody>
</table>

现在我已经用它实现了 JQuery DataTable。

   $(document).ready(function () {

var oTable = $('#tblAvailableFranchisees').dataTable();
{);

数据表呈现正确,为我提供了对列进行排序、选择页面和选择每页记录数的默认功能。

然后我可以通过复选框检查用户并发布,传递到我的 Controller 的模型给了我我想要的东西。

但是,当我进入表中的不同页面并发布时,传递给我的 Controller 的模型现在是一个空集合。我已经确认它与分页有关,但似乎无法弄清楚为什么模型会返回空集合而不返回表中的项目。

欢迎任何有助于调查此问题的想法。提前致谢

最佳答案

我将其发布在此处,而不是在评论部分中,这样我就可以使用一些干净的代码格式以及对我有用的内容来发布,但如果您重新设计了页面,则可能对您不起作用。

我通过对提交按钮进行一些修改解决了我的问题。

    $('#form').submit(function () {
oTable.fnFilter("");
var oSettings = oTable.fnSettings();
oSettings._iDisplayLength = -1;
oTable.fnDraw();
});

它的作用是清除搜索过滤器,方法是通过 oTable.fnFilter(""); 将其设置为空,然后将表的显示重置为 -1(显示表格),然后调用 fnDraw() 方法重新绘制表格(显示所有行)。

通过一次提交整个模型,我的 Controller 只关心选中复选框的模型,这缓解了我遇到的模型空问题。

这发生在幕后,用户应该一无所知,除非您有大量数据。

关于jquery - MVC 4 Jquery DataTable 分页丢失模型引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16846109/

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