2012-02-21 17 views
0

我有一個按鈕和一個面板。當用戶點擊按鈕時,它會加載一個用戶控件並將其添加到panel.Controls。當用戶控件第一次加載時(Page_Load),我需要在用戶控件中綁定一個網格,但是當用戶單擊usercontrol內的按鈕時,不需要用戶控件中的按鈕,也可以在usercontrol中觸發回發。我不能使用Page.IsPostback,因爲當用戶單擊加載usercontrol的主按鈕時它返回true。我能做什麼?在動態創建的UserControl中檢測自回發

回答

0

您可以將用戶控件內的按鈕設置爲CommandName並檢查CommandName的值。您還可以檢查對象發件人的類型以確定導致回發的控件。

不要忘記,在動態創建後(在發生頁面加載之前發生的事件)後,您將不得不在每個回發中重新添加用戶控件,因此您需要實現一種機制來確定用戶控件已添加到面板中。

1

這是原始的,但你可以檢查通過比較來自的價值造成任何回傳控制:

Request.Form.Get("__EVENTTARGET") 

這將返回目標控制的唯一ID;選中此項可確定哪個按鈕導致回發,並據此採取行動。

相關問題