c# - 通过分页检查复选框

标签 c# asp.net-mvc

我有一个包含以下对象的网格:

public PagedList<GridList> PagedList { get; set; }


public class GridList
{
    public Employee EmployeeItem { get; set; }
    public bool isChecked { get; set; }
}

我的 aspx 在循环中实现了表格,然后我为每个员工放置了一个复选框:

 <%foreach (var item in Model.PagedList )
   {%>
      <tr>
         <td align="center">
            <%: Html.CheckBox(item.EmployeeItem.ID.ToString(), item.isChecked)%>
        </td>
     </tr>
<% }%>

当用户更改页面时,我需要保持选中所有复选框。因此,如果他选择一个页面的 2 或 3 个选项,然后更改页码,当他返回到该页面时,应该标记相同的检查。

我尝试了很多解决方案,但我不会在这里评论它们只是为了期待更好的解决方案。我试过的所有订单都遇到了无法解决的问题。

当用户点击进入另一个页面时,代码转到[HttpGet] 方法。

感谢您的帮助。

最佳答案

在执行分页时,您将不得不以某种方式将选中的值发送到服务器,否则您将丢失它们。您有几种可能性:

  1. 将复选框与寻呼机放在 HTML 表单中,并使寻呼机链接提交此表单的按钮。

  2. 使用 AJAX 执行分页并仅刷新 DOM 的网格部分,不要触摸复选框。通过这种方式,他们将保留自己的值(value)观。

  3. 订阅寻呼机链接的onclick事件并在内部取消默认操作(evt.preventDefault()),获取复选框的值和将它们附加到将执行分页的 url 的查询字符串。然后重定向到这个新的 url。

关于c# - 通过分页检查复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8466395/

相关文章:

c# - 如何使用 C# 创建浏览器插件?

c# - 哪种算法更适合加密和解密项目内的数据?

c# - 覆盖 XmlSerialization 的类名

asp.net-mvc - Entity Framework Core 可为空的外键

javascript - MVC 500 内部服务器错误

c# - 使用其他XPath查询过滤XmlNodeList?

c# - RenderSection() 在 ASP.NET Core 的 <environment> 标签助手中工作吗?

asp.net-mvc - ASP.NET MVC 适用于复杂的 Web 应用程序吗?

asp.net-mvc - MVC3 应用程序 - 获取 "Could not load file or assembly ' System.Data.SQLite' 或其依赖项之一。”

asp.net-mvc - 如何将 EditModel 映射到命令消息?