从代码后面删除事件处理程序

时间:2015-07-28 07:30:22

标签: c# asp.net .net event-handling

我有一个像这样的asp.net下拉列表

<asp:DropDownList ID="ddLevel" runat="server" Width="95%" AutoPostBack="True" OnSelectedIndexChanged="ddYear_SelectedIndexChanged">

在某种情况下我试图删除OnSelectedIndexChanged事件处理程序。我试过

ddLevel.SelectedIndexChanged -=ddYear_SelectedIndexChanged;

它不起作用。然后,我试过

ddLevel.SelectedIndexChanged -=new EventHandler(ddYear_SelectedIndexChanged);

但他们两个都没有用。当我检查页面的来源时,我仍然可以看到onchange事件。

我检查了这两个链接link1link2。我不明白我做错了什么。如果有其他方法可以做到这一点,我想知道。我在Page_Load事件中这样做的原因是什么?

1 个答案:

答案 0 :(得分:0)

以下内容应取消订阅该活动,请确保在page_load活动的该点之后,执行不会再次进入活动订阅。

ddLevel.SelectedIndexChanged -=ddYear_SelectedIndexChanged;