2012-04-10 33 views
-2

Hi提交按鈕單擊事件信息是否存儲在_viewstate屬性中(在頁面源中)。如果是的話,服務器如何識別按鈕是從視圖狀態點擊並執行相應的事件處理程序。服務器如何識別按鈕控件的視圖狀態是

+0

重複[如何在服務器端識別按鈕單擊事件](http://stackoverflow.com/questions/10054227/how-the-server-side-identifies-button-click-event) – 2012-04-10 07:01:26

回答

0

對於按鈕單擊事件,它發生在兩個方面。

a。如果javascript可用& UseSubmitBehavior設置爲false,則它使用按鈕的唯一ID填充__EventTarget隱藏字段。當頁面正在處理回發時,它會在Request.Forms中查找此__EventTarget,並且如果可用,則爲相應的值執行FindControl並將其類型轉換爲IPostBackEventHandler並調用RaisePostBackEvent方法。按鈕類將觸發Click事件。

灣如果Javascript不可用& UseSubmitBehavior設置爲true,那麼瀏覽器將該按鈕的唯一ID作爲表單變量發送到服務器。如果頁面發現UniqueId作爲Request.Forms中的鍵,那麼它將再次使用FindControl方法找到控件,並將其轉換爲IPostBackEventHandler並調用RaisePostBackEvent方法。按鈕類將觸發Click事件。

+0

嗨,謝謝你你的回覆是否正確匹配,什麼是唯一ID,是否僅爲點擊的按鈕控件或頁面中的所有其他控件創建uniqueid ..請儘快回覆我 – Karthick 2012-04-10 09:01:41

+0

爲所有服務器創建唯一ID邊渲染頁面的同時控制。這是一個可用於在服務器端查找控件的ID。這對每個控制都是獨一無二的。 – Ramesh 2012-04-10 09:13:16

+0

嗨,謝謝這是我的面試問題,如果我有一個文本框與兩個提交按鈕與id button1,button2然後我點擊button1服務器如何知道button1被點擊,唯一的button1只發送到服務器,什麼關於button2,請幫助我,如果有任何教程可用,請發送鏈接以及您的回覆。 – Karthick 2012-04-10 11:04:42

相關問題