2011-03-01 84 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

相關問題