如何:响应列表 Web 服务器控件中的更改
更新:2007 年 11 月
本主题中的信息适用于如下列表 Web 服务器控件:ListBox、DropDownList、CheckBoxList 和 RadioButtonList。
当用户在列表 Web 服务器控件中进行选择时,控件将引发一个事件,您可以直接对该事件做出响应。通常根本不需要直接对选择事件进行响应。相反,更常见的做法是在窗体由某个控件(如 Button 控件)发送到服务器时测试选定了哪个项。有关确定选定了哪个项的详细信息,请参见确定列表 Web 服务器控件中的选定内容。
直接响应列表 Web 服务器控件中的更改
为控件的 SelectedIndexChanged 事件创建一个事件处理程序。默认情况下,SelectedIndexChanged 事件并不立即导致向服务器发送页面,而是当下次发送窗体时在服务器代码中引发此事件。若要使 SelectedIndexChanged 事件引发立即发送,请将控件的 AutoPostBack 属性设置为 true。
说明:
只要用户从列表控件中进行选择,就会立即引发事件。如果 AutoPostBack 属性为 true,则每次选择时都将发送窗体,但在每个往返行程中选定的项保持不变。
下面的代码示例演示如何响应 DropDownList 控件中的选择。事件处理程序将显示用户在 Label 控件中的选择。
安全说明:
ASP.NET 页中的控件可能包括潜在有害的客户端脚本。默认情况下,Web 窗体页验证用户输入是否不包括脚本或 HTML 元素。有关更多信息,请参见如何:通过对字符串应用 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; }