HOW TO:回應 List Web 伺服器控制項中的變更
更新:2007 年 11 月
本主題中的資訊適用於下列清單 Web 伺服器控制項:ListBox、DropDownList、CheckBoxList 和 RadioButtonList。
當使用者在清單 Web 伺服器控制項中進行選取時,控制項會產生可以直接回應的事件。通常,您不需要直接回應選取事件,而是在透過控制項 (例如 Button 控制項) 將表單張貼至伺服器時,使用這事件來測試已經選取了哪些項目。如需判斷已選取項目的詳細資訊,請參閱判斷清單 Web 伺服器控制項中的選取。
若要直接回應清單 Web 伺服器控制項的變更
為控制項的 SelectedIndexChanged 事件建立事件處理常式。根據預設,SelectedIndexChanged 事件不會立即將網頁張貼至伺服器。相反的,下次表單張貼時,事件會在伺服器程式碼中引發。若要讓 SelectedIndexChanged 事件產生立即張貼,請將控制項的 AutoPostBack 屬性設定為 true。
注意事項: 當使用者在清單控制項中進行選取時,會立即引發此事件。如果 AutoPostBack 屬性是 true,表單會隨著每次選取而張貼,但選取的項目將在每次來回中保留。
下列程式碼範例會示範如何回應 DropDownList 控制項中的選取。此事件處理常式會顯示使用者在 Label 控制項中的選取。
安全性注意事項: ASP.NET 網頁中的控制項可能包含惡意用戶端指令碼。根據預設,Web Form 網頁會驗證該使用者的輸入內容中不包含指令碼或 HTML 項目。如需詳細資訊,請參閱 HOW TO:利用將 HTML 編碼套用至字串的方法,防止會在 Web 應用程式中發生的指令碼攻擊。
Protected Sub DropDownList1_SelectedIndexChanged(ByVal sender _ As System.Object, ByVal e As System.EventArgs) _ Handles DropDownList1.SelectedIndexChanged Label1.Text = "You selected " & DropDownList1.SelectedItem.Text End Sub
Protected void DropDownList1_SelectedIndexChanged(object sender, System.EventArgs e) { Label1.Text = "You selected " + DropDownList1.SelectedItem.Text; }