ASP.NET - CheckBox 和 CheckBoxList Web 服务器控件概述(下)

 

六、如何:以编程方式获取和设置 CheckBox Web 服务器控件值

      可以用编程方式读取或设置 CheckBox Web 服务器控件的值。

说明: 如果您使用的是 CheckBoxList 控件,则获取和设置复选框值的过程会有所不同。

      获取或设置 CheckBox 控件的 Checked 属性。如果值为 true,则表示复选框已选定。

说明: 测试复选框的值并不会告诉您用户是否更改了控件的值,只能告诉您该复选框是否已选中。

在下面的示例中,如果未选定 chkCanWeSendEmail 复选框,则 chkSendInHTMLFormat 复选框也将自动清除。

if(chkCanWeSendEmail.Checked == false){

   chkSendInHTMLFormat.Checked = false;

}

 

七、如何:响应 CheckBox Web 服务器控件中的用户选择

      当用户选择一个 CheckBox 控件时,该控件将引发一个事件,您可以响应这一事件。

说明: CheckBoxList 控件引发的事件不同于单个 CheckBox 控件引发的事件。

      您可能根本不需要直接对 CheckBox 控件的选择事件进行响应。在有必要知道用户何时更改了复选框所选内容时才需要响应该事件。如果只想知道选择复选框后的状态,不想知道选择是否已更改,则只需在窗体发送到服务器后测试复选框。

      为控件的 CheckedChanged 事件创建一个事件处理程序。

默认情况下,CheckedChanged 事件并不马上导致向服务器发送页。而是当下次发送窗体时在服务器代码中引发此事件。若要使 CheckedChanged 事件引发即时发送,请将 CheckBox 控件的 AutoPostBack 属性设置为 true

说明: 若要在选中 CheckBox 控件时将其发送到服务器,浏览器必须支持 ECMAScript (JavaScript),并且用户的浏览器要启用脚本撰写。

 

下面的示例在 Label Web 服务器控件中显示“True”或“False”,以反映 CheckBox 控件中的最新更改

protected void CheckBox1_CheckedChanged(object sender, EventArgs e)

{

   Label1.Text = "CheckBox1 selection is: " + CheckBox1.Checked.ToString();

}

 

八、如何:在列表 Web 服务器控件中添加项 (Visual Studio)

本主题中的信息适用于以下 Web 服务器控件:

ListBoxDropDownListCheckBoxListRadioButtonListBulletedList

可以使用以下三种方法向列表 Web 服务器控件添加项:

·在设计时添加静态项。

·以编程方式在运行时添加项。

·使用数据绑定添加项。有关详细信息,请参见如何:根据数据源来填充列表 Web 服务器控件 (Visual Studio)

添加列表项时,最多可以为该项指定三个可能的属性。下表描述了这些属性。

属性

说明

Text

指定列表中显示的文本。

Value

指定一个与项关联但不显示的值。例如,可以将 Text 属性设置为化学元素的名称,并将 Value 属性设置为该元素的符号。

Selected

指示是否选择此项。在 CheckBoxList 控件和多重选择 ListBox 控件中,可以选择多个项。在 DropDownList 控件、RadioButtonList 控件和单项选择 ListBox 控件中,一次只能选择一个项。如果您在这些控件中设置多个选定的项,则浏览器将确定哪一项呈现选定状态。在 BulletedList 控件中,此设置不起作用。

A、在设计时添加静态项

1、在“设计”视图中,选择要向其中添加项的列表控件。

在“属性”窗口中,单击 Items 框中的省略号按钮 ( )

出现“ListItem 集合编辑器”对话框。

2、单击“添加”添加新项。

3、选择此新项,然后在属性网格中为它的“Text”、“Value”和“Selected”属性输入值。

4、对要添加的每个项重复步骤 2 和步骤 3,然后单击“确定”。

 

B、以编程方式添加项

1、创建 ListItem 类型的新对象,设置其 Text 属性和 Value 属性。通常是通过调用 Add 方法来创建新的 ListItem

2、调用控件的 Items 集合的 Add 方法,并将新对象传递给它。

下面的代码示例演示如何向 ListBox 控件添加 ListItem 对象,但是,对于所有列表 Web 服务器控件,添加过程均相同。

Protected void Button1_Click (object sender, System.EventArgs e)

{

    ListBox1.Items.Add(new ListItem("Carbon", "C"));

    ListBox1.Items.Add(new ListItem("Oxygen", "O"));

}

 

九、如何:根据数据源来填充列表 Web 服务器控件 (Visual Studio)

      本主题中的信息适用于以下 Web 服务器控件:

ListBoxDropDownListCheckBoxListRadioButtonListBulletedList

列表 Web 服务器控件可用来显示从某个数据源读取的项。控件中的每一项对应于数据源中的一项(如,数据表中的一行)。控件可以显示来自数据源的一个字段,还可以使用第二个字段作为项的值。

通过将列表控件的 AppendDataBoundItems 属性设置为 true,可以将设计时创建的列表项与从数据源填充的列表项组合在一起。典型的示例是创建一个文本为“Select an item”的列表项,将其作为 DropDownList 控件的第一项。然后,可以从数据源填充 DropDownList 控件中的其余项。

步骤:

      1、向页面添加数据源控件,如 SqlDataSource 控件或 ObjectDataSource 控件。

2、使用“数据源配置向导”为数据源控件定义连接和查询或数据检索方法。

3、右击列表控件,并单击“显示智能标记”。

4、在任务菜单中,单击“选择数据源”。 此时将显示“数据源配置向导”。

5、在“选择数据源”列表中,单击在步骤 1 中添加的数据源控件。

6、在“选择要显示的数据字段”列表中,单击要在控件中显示的数据字段。

7、还可以选择在“为值选择数据字段”列表中,单击要作为每个项的值存储的数据字段。

8、如果从数据源填充列表时控件已包含您要保留的静态定义列表项,还可以选择将控件的 AppendDataBoundItems 属性设置为 true

 

十、如何:响应列表 Web 服务器控件中的更改

      本主题中的信息适用于如下列表 Web 服务器控件:ListBoxDropDownListCheckBoxList RadioButtonList

当用户在列表 Web 服务器控件中进行选择时,控件将引发一个事件,您可以直接对该事件做出响应。通常根本不需要直接对选择事件进行响应。相反,更常见的做法是在窗体由某个控件(如 Button 控件)发送到服务器时测试选定了哪个项。

      为控件的 SelectedIndexChanged 事件创建一个事件处理程序。默认情况下,SelectedIndexChanged 事件并不立即导致向服务器发送页面,而是当下次发送窗体时在服务器代码中引发此事件。若要使 SelectedIndexChanged 事件引发立即发送,请将控件的 AutoPostBack 属性设置为 true

说明: 只要用户从列表控件中进行选择,就会立即引发事件。如果 AutoPostBack 属性为 true,则每次选择时都将发送窗体,但在每个往返行程中选定的项保持不变。

下面的代码示例演示如何响应 DropDownList 控件中的选择。事件处理程序将显示用户在 Label 控件中的选择。

安全说明: ASP.NET 页中的控件可能包括潜在有害的客户端脚本。默认情况下,Web 窗体页验证用户输入是否不包括脚本或 HTML 元素。

Protected void DropDownList1_SelectedIndexChanged(object sender,

     System.EventArgs e)

{

   Label1.Text = "You selected " + DropDownList1.SelectedItem.Text;

}

 

 

你可能感兴趣的:(编程,Web,object,浏览器,服务器,asp.net)