Jquery 数据表、复选框和 asp.net

发布于 2025-01-02 07:14:46 字数 410 浏览 1 评论 0原文

我正在使用带有 asp.net 中继器的 Jquery 数据表,90% 的一切都工作正常。问题是我有一列复选框,如果我翻阅数据表,选中一些框然后提交,我只能得到最后一页的详细信息,它会忘记选中复选框的所有其他页面。

这里或多或少地介绍了这一点:

http://www .datatables.net/forums/discussion/7700/repeater-checkbox-and-paging/p1

但是,我不知道如何从 asp.net 获取该数据回发后,有人能告诉我如何迭代中继器并获取所有复选框吗?

谢谢。

I'm working with Jquery datatables with asp.net repeaters and 90% of everything is working ok. Problem is that I've got a column of checkboxes and if I page through the datatable checking some boxes and then submit, I only get the last page of details, it forgets all other pages where checkboxes were checked.

This is covered more or less here:

http://www.datatables.net/forums/discussion/7700/repeater-checkbox-and-paging/p1

However, I've no idea how to get that data from an asp.net postback, anyone shed any light on how I'd be able to iterate through the repeater and get all checked boxes?

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

长梦不多时 2025-01-09 07:14:46

我会在每个复选框上添加单击处理程序,以在某些列表中添加/删除所选复选框的 ID(例如,作为某些隐藏字段的内容,作为逗号分隔列表或类似的内容)。

当您发布表单时,您可以从 Request["hiddenFieldName"] 中读取此内容,用逗号分隔并保存。

关于页面更改时丢失的复选框值,没有直接的解决方案。我的选择是将“页面”事件处理程序绑定到数据表 - 像这样:

$('#example')
    .bind('page',   function () { populateCheckboxes(  ); })
    .dataTable();  

每次页面更改时都会调用函数 populateCheckboxes ,在这里您可以浏览表中的所有复选框并检查它们的值是否在隐藏的列表中场地。

抱歉,没有更简单的解决方案,但这也不是太复杂的脚本。

约万

I would add click handler on each check box that adds/remove id of the selected checkbox in some list (e.g. as a content of some hidden field as a comma separated list or something similar).

When you post form you can read this content from Request["hiddenFieldName"], split it by comma and save it.

Regarding the lost checkbox values on page change there is not direct solution. My choice would be to bind "page" event handler to datatable - something like this:

$('#example')
    .bind('page',   function () { populateCheckboxes(  ); })
    .dataTable();  

function populateCheckboxes will be called on each page change and here you can go through all checkboxes in the table and check whether their value is in the list in the hidden field.

Sorry but there is not easier solution for this, however this is not too complex script either.

Jovan

微凉徒眸意 2025-01-09 07:14:46

在您的代码隐藏中使用以下方法。 “rptrPayableItems”是中继器的名称。

foreach (RepeaterItem ri in rptrPayableItems.Items){                    
  CheckBox cbPaid = (CheckBox)ri.FindControl("chkbxPayItem");
  if (cbPaid.Checked){       
    //Do your operation here for checked checkbox.
  }
}

Use the below approach in your code-behind. "rptrPayableItems" is the name of repeater.

foreach (RepeaterItem ri in rptrPayableItems.Items){                    
  CheckBox cbPaid = (CheckBox)ri.FindControl("chkbxPayItem");
  if (cbPaid.Checked){       
    //Do your operation here for checked checkbox.
  }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文