UpdatePanel 中的复选框列表在选中项目时触发完整的回发
Posted
技术标签:
【中文标题】UpdatePanel 中的复选框列表在选中项目时触发完整的回发【英文标题】:Checkboxlist inside UpdatePanel triggers full postback when an item is checked 【发布时间】:2012-06-30 21:55:00 【问题描述】:所以我有这个复选框列表,我想为其中的元素实现全选功能。我将它放置在 UpdatePanel 中,但每次单击某个项目时,都会重新加载整个页面。这是我的代码:
<asp:UpdatePanel ID="CBLPanel" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="false">
<ContentTemplate>
<div class="LeftAligned">
<asp:Label ID="FilterLabel" runat="server" Text="Filter by:" />
<asp:DropDownList runat="server" ID="FilterDDL" AutoPostBack="true" OnSelectedIndexChanged="FilterDDL_SelectedIndexChanged" />
<asp:ImageButton ID="FB" runat="server" ImageUrl="~/images/filter.png" AlternateText="VALUE"
CssClass="filter_button" OnClick="FB_Click" />
<div onmouseout="javascript:bMouseOver=false;" onmouseover="javascript:bMouseOver=true;"
class="filter_div">
<asp:CheckBoxList AutoPostBack="true" ID="FilterCheckBoxList" ClientIDMode="Static"
runat="server" CssClass="filter_checklist collapsed" OnSelectedIndexChanged="FilterCheckBoxList_Selected">
</asp:CheckBoxList>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
虽然我应该将 ChildrenAsTriggers 设置为 false,这样我只能从代码中更新,但它似乎不起作用。
【问题讨论】:
【参考方案1】:这看起来像一个熟悉的 .NET 错误。在 CheckBoxList 上设置 ClientIDMode=Auto 应该可以解决它
【讨论】:
从试错的日子到调试工具的诞生;我永远也猜不到。谢谢@GratzianiV。 ClientIDMode="AutoID" ?以上是关于UpdatePanel 中的复选框列表在选中项目时触发完整的回发的主要内容,如果未能解决你的问题,请参考以下文章
滚动时带有复选框的Android ListView会松动选中的项目