[英]Force a post back when checkbox.checked value is set to true
我有一个方法可以更改像这样的复选框的checked属性
checkbox1.checked = true;
然后我有eventhandler方法 :
checkbox1_checkedChanged(object obj, EventArgs args)
但是,当我执行将checked属性更改为true时,事件处理程序不会启动。
我怎样才能做到这一点?
我怀疑你的函数是checkbox1.checked = true; 正在运行服务器端,因此永远不会导致回发。
如果是这种情况,并且您只想调用已检查更改的处理程序中的代码,则可以直接调用该函数,或将代码重构为常用函数。
您需要在元素上将AutoPostBack设置为true
<asp:CheckBox id="checkbox" runat="server" AutoPostBack="true" />
您需要做的只是调用您想要触发的方法处理程序,因为您已经是服务器端,因此不会因为属性值更改而触发事件。 因此,在将checked设置为true后尝试此操作:
checkbox1_checkedChanged(checkbox1, new EventArgs());
好吧,你谈到“回发”,所以我假设你正在创建一个网页。
AutoPostBack
属性仅指示当通过网页上的控件本身更改控件的属性时将触发回发事件,因为事件处理程序仅绑定到控件。
因此,动态更改控件的属性(使用服务器端的代码)将永远不会触发事件处理程序。 相反,你可以在改变之后立即调用处理程序(就像Justin Harvey所说的那样)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.