2008-10-28 75 views

回答

2

你已經選擇了一個非常棘手的問題......其原因在於有幾種方法會引發事件。 1)__EVENTTARGET(如上所述) 2)如果你的按鈕名稱是MyButt,那麼你會在查詢字符串中看到「MyButt =」。 3)當每個控件(例如TextBox)檢查請求以查看它在ViewState中的值是否與發佈時不同時,將激發「Text_Changed」。

但是,您可以使用#1和#2來檢查幾個位置。

0

以下內容包含點擊時按鈕的損壞標識。

Page.Request.Form["__EVENTTARGET"] 
0

Here is an example我相信你會回答你的問題。

另一種方法是在調試時設置一些斷點。

2

不幸的是,詢問__EVENTTARGET值並不能解決問題。通常,這個值將是空的。回發處理根據不僅僅事件目標值(如果有的話)根據表單發佈的值(例如用於文本框)測試控制狀態值來確定是否應該提高像TextChanged這樣的事件而做出關於要引發什麼事件的一些決定。

除了實際將事件處理程序掛接到您希望捕獲事件的所有控件之外,我不認爲有任何方法可以確定它。儘管基本上可以做到框架的功能。您需要在控件創建和視圖狀態恢復之間,但在處理髮布的值之前執行此操作。您可以將當前控制值(來自視圖狀態)與發佈的值進行比較,從本質上確定哪些事件會觸發。

你的目標是什麼?也許有更好的解決方案。

相關問題