从代码隐藏中删除事件处理程序
Removing event handler from code behind
我有一个像这样的 asp.net 下拉列表
<asp:DropDownList ID="ddLevel" runat="server" Width="95%" AutoPostBack="True" OnSelectedIndexChanged="ddYear_SelectedIndexChanged">
在某些情况下,我正在尝试删除 OnSelectedIndexChanged 事件 handler.I 已尝试
ddLevel.SelectedIndexChanged -=ddYear_SelectedIndexChanged;
没用。然后,我尝试了
ddLevel.SelectedIndexChanged -=new EventHandler(ddYear_SelectedIndexChanged);
但是它们都不起作用。当我检查页面的来源时,我仍然可以看到 onchange 事件。
我检查了这两个链接 link1 and link2。我不明白我做错了什么。我想知道是否有另一种方法可以做到这一点。这是我在 Page_Load
事件中这样做的原因吗?
下面应该取消订阅事件,确保在 page_load
事件之后不会再次执行事件订阅。
ddLevel.SelectedIndexChanged -=ddYear_SelectedIndexChanged;
我有一个像这样的 asp.net 下拉列表
<asp:DropDownList ID="ddLevel" runat="server" Width="95%" AutoPostBack="True" OnSelectedIndexChanged="ddYear_SelectedIndexChanged">
在某些情况下,我正在尝试删除 OnSelectedIndexChanged 事件 handler.I 已尝试
ddLevel.SelectedIndexChanged -=ddYear_SelectedIndexChanged;
没用。然后,我尝试了
ddLevel.SelectedIndexChanged -=new EventHandler(ddYear_SelectedIndexChanged);
但是它们都不起作用。当我检查页面的来源时,我仍然可以看到 onchange 事件。
我检查了这两个链接 link1 and link2。我不明白我做错了什么。我想知道是否有另一种方法可以做到这一点。这是我在 Page_Load
事件中这样做的原因吗?
下面应该取消订阅事件,确保在 page_load
事件之后不会再次执行事件订阅。
ddLevel.SelectedIndexChanged -=ddYear_SelectedIndexChanged;