从代码隐藏中删除事件处理程序

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;