我有一个带有多个复选框的 gridview,有时超过 40 个。我希望复选框在单击时在后面的代码中调用 .net 函数。通常,如果复选框位于 GridView 之外,这会很简单。但是因为它们在 gridview 中并且我不知道有多少个,所以我不知道它们在运行之前的 id。
我现在的情况是,当您单击某个复选框时,jQuery 脚本会返回该复选框的 id 和值。不幸的是,我不知道如何将值传递给函数 - 这将依次更新另一个 GridView 。
据我所知,我唯一的选择是在页面加载之前获取控件(复选框)的 ID,然后以编程方式添加到更新面板的更新触发器部分。还有其他方法可以说“如果单击了任何复选框,则运行它”吗?
最佳答案
使用复选框的 CSS 选择器并调用 __doPostBack
刷新面板,例如分配 CSS 类 checkboxes
到每个复选框,然后添加脚本:
$('#checkboxes').change(function() {
__doPostBack('<%=UpdatePanel1.UniqueID%>');
}
如果您对导致刷新的复选框的 ID 感兴趣,可以将其传递回代码:
$('#checkboxes').change(function() {
__doPostBack('<%=UpdatePanel1.UniqueID%>',$(this).attr('id'));
}
第二个参数将作为 Request.Form["__EVENTARGUMENT"]
提供。 。您可以在这里放置任何您想要的内容,例如如果需要,您还可以包含复选框的状态。第一个是__EVENTTARGET
,但您不需要直接使用它。当它与 UpdatePanel 的唯一 ID 匹配时,只会刷新该面板。
关于jquery - ASP.NET从gridview中的多个控件更新触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5225435/