2011-03-01 48 views
9

我想在代码后面删除事件。在代码后面删除asp.net事件

例如我的控制是这样的。

<asp:Textbox ID="txtName" runat="server" OnTextChanged="txtName_Changed" AutoPostBack="true" /> 

我想删除OnTextChanged编程..我怎么能做到这一点?

回答

12

在C#中,可以添加和后台代码很容易移除事件处理程序:

// Add event handler: 
txtName.OnTextChanged += new EventHandler(txtName_Changed); 

// Remove event handler: 
txtName.OnTextChanged -= new EventHandler(txtName_Changed); 
+1

haha​​hah ...我从来没有想过 - 将删除处理程序..谢谢.. – 2011-03-01 08:17:33

+0

看起来有点奇怪,你必须首先实例化一个新的EventHandler,然后才能将它从该控件的事件列表中删除。 – 2011-03-01 08:36:36

+0

有什么办法可以对我无法访问的方法执行此操作吗?我的问题我有一个第三方组件,添加一个事件其处理程序受到保护,我需要用我自己的事件处理程序覆盖该行为。 – 2017-12-08 22:32:22

3

在VB.NET代码:

RemoveHandler txtName.OnTextChanged, addressof txtName_Changed 

或者在C#:

http://www.devnewsgroups.net/dotnetframework/t16784-remove-event-handlers-net.aspx

obj.Click += new EventHandler(BeAlert); // register an event handler 
obj.Click -= new EventHandler(BeAlert); // unregister the same event handler 
+0

对不起,我的意思是在c# – 2011-03-01 08:07:25

+1

这是C#中的一个例子:http://www.devnewsgroups.net/dotnetframework/t16784-remove-event-handlers-net.aspx – Rhapsody 2011-03-01 08:13:19

相关问题