【发布时间】:2015-12-04 19:29:09
【问题描述】:
复选框的 CheckedChanged 事件在自动回发时触发。有没有办法在 autopostback 设置为 false 的情况下触发该事件?
【问题讨论】:
标签: c# checkbox asp.net-3.5
复选框的 CheckedChanged 事件在自动回发时触发。有没有办法在 autopostback 设置为 false 的情况下触发该事件?
【问题讨论】:
标签: c# checkbox asp.net-3.5
如果您想在不告诉用户您已往返服务器的情况下触发事件 您可以通过 ajax 触发事件
<asp:ScriptManager ID="ScriptManager2" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:CheckBox runat="server" ID="cb" oncheckedchanged="cb_CheckedChanged">
</asp:CheckBox>
</ContentTemplate>
</asp:UpdatePanel>
【讨论】:
通过手动回发。
说真的,如果不回发,事件怎么会触发呢?
【讨论】:
你不能。
OnCheckedChanged 是 ASP.NET 中CheckBok object(控件)的属性。
要触发 javascript 代码,您必须使用 OnClick="checkboxchanged(this);" 并手动检查值 checked 是否已更改:
<asp:CheckBox runat="server" ID="cb" onclick="checkboxchanged(this);" />
function checkboxchanged( sender ) {
if ( sender.checked ) {
// clicked and checked
} else {
// clicked and unchecked
}
}
【讨论】: