[KB]如果UpdatePanel有多個觸發來源,要怎麼將內容Post回去原觸發的控制項呢?

[KB]如果UpdatePanel有多個觸發來源,要怎麼將內容Post回去原觸發的控制項呢?

這個問題的原出處:http://social.msdn.microsoft.com/Forums/zh-TW/236/thread/3ca2e625-d266-4990-a799-effcc8a9ec5b

 

我們首先在畫面上安排了三個TextBox,這三個TextBox擁有各自的PopupControlExtender,當使用者進入TextBox時,

就彈跳出一個UpdatePanel(這個UpdatePanel僅使用一個)供使用者選擇.

ASPX的程式碼如下:

 

畫面如下:

image

 

這裡遇到的問題是,當使用者進入某個TextBox時,就會跳出PopupControlID所設定的控制項(這裡是一個Panel, 內含有一個下拉選單)

image

 

當使用者選擇完畢後,會在DropDownList的SelectedIndexChanged事件中,把選擇的值送回使用者選擇的Textbox控制項中。

image

 

可是問題來了,要怎樣知道觸發的PopupControlExtender控制項是那個?

其實只要簡單三行,就可以搞定這個問題,先看答案:

 

可以透過AjaxControlToolkit.PopupControlExtender.GetProxyForCurrentPopup(Page)去得知目前頁面上觸發的PopupControlExtender是那個.

然後透過它去Commit值。

 

這是不是很簡單呢? 希望對您有所幫助.

 

 

如果您有微軟技術開發的問題,可以到MSDN Forum發問。

如果您有微軟IT管理的問題,可以到TechNet Forum發問喔。