RadioButtonList 控件用于创建单选按钮组。RadioButtonList 控件中的每个可选项是通过 ListItem 元素来定义的!提示:该控件支持数据绑定! 由于每一个RadioButton Web 控件是独立的控件,若要判断同一个群组内的 RadioButton 是否被选择,则必须判断所有的 RadioButton Web 控件的 Checked属性,这样做效率很低。而RadioButtonList Web控件可以管理许多选项。 对于通过使用数据绑定创建的一组单选按钮而言,RadioButtonList控件更易于使用,而单个RadioButton控件则能够更好地控制布局。如果要绑定数据源,必须使用此控件。
一、RadioButtonList 控件属性和事件 1、AutoPostBack属性:用于设置当单击RadioButtonList控件时,是否自动回送到服务器。True表示回送;False(默认)表示不回送。 2、DataSource属性:用于指定填充列表控件的数据源。 3、DataTextField属性:用于指定DataSource中的一个字段,该字段的值对应于列表项的Text属性。 4、DataValueField属性:用于指定DataSource中的一个字段,该字段的值对应于列表项的Value属性。 5、Items属性:表示列表中各个选项的集合,如RadioButtonList1.Items(i) 表示第i个选项,i从0开始。每个选项都有以下3个基本属性: Text属性:表示每个选项的文本。 Value属性:表示每个选项的选项值。 Selected属性:表示该选项是否被选中。 Count属性:通过Items.Count属性可获得CheckBoxList控件的选项数; Add方法:通过items.Add方法可以向CheckBoxList控件添加选项; Remove方法:通过items.Remove方法,可从CheckBoxList控件中删除指定的选项; Insert方法:通过items.insert方法,可将一个新的选项插入到CheckBoxList控件中; Clear方法:通过items.clear方法可以清空CheckBoxList控件中的选项。 6、RepeatColumns属性:用于指定在CheckBoxList控件中显示选项占用几列。默认值为0,表示任意多列。 7、RepeatDirection属性:用于指定CheckBoxList控件的显示方向。Vertical时,列表项以列优先排列的形式显示;Horizontal时,列项以行优先排列的形式显示。 8、RepeatLayout属性:用于设置选项的排列方式。Table(默认)时,以表结构显示,属性值为Flow时,不以表结构显示。 9、SelectedIndex属性:用于获取或设置列表中选定项的最低序号索引值。如果列表控件中只有一个选项被选中,则该属性表示当前选定项的索引值。 10、SelectedItem属性:用于获取列表控件中索引值最小的选定项。如果列表中只有一个选项被选中,则该属性表示当前选定项。通过该属性可获得选定项的Text和Value属性值。 11、TextAlign属性:用于指定列表中各项文本的显示位置。当该属性值为Right(默认)时,文本显示在单选按钮的右边;当属性值为Left时,文本显示在单选按钮的左边。 12、SelectIndexChange事件:当用户选择了列表中的任意选项时,都将引发SelectedIndexChange事件。
二、使用语法
<ASP:RadioButtonList
Id="控件名称"
Runat="Server"
AutoPostBack="True | False"
CellPadding="像素"
DataSource="<%数据源%>"
DataTextField="数据源的字段"
DataValueField="数据源的字段"
RepeatColumns="字段数量"
RepeatDirection="Vertical | Horizontal"
RepeatLayout="Flow | Table"
TextAlign="Right | Left"
OnSelectedIndexChanged="事件程序名称"
>
<ASP:ListItem/> //选项
</ASP:RadioButtonList>
三、使用实例
<%@ Page Language="C#" AutoEventWireup="True" %> <html> <head> <script runat="server"> void SubmitBtn_Click(Object Sender, EventArgs e) { if (Radio1.Checked) Label1.Text = "您选择了: " + Radio1.Text; else if (Radio2.Checked) Label1.Text = "您选择了: " + Radio2.Text; else if (Radio3.Checked) Label1.Text = "您选择了: " + Radio3.Text; } </script> </head> <body> <form runat="server"> <h3>RadioButton示例</h3> <h4>选择一种你想要的安装类型:</h4> <asp:RadioButton id="Radio1" Text="典型安装" Checked="True" GroupName="RadioGroup1" runat="server" /><br> 这个选项将安装最常用的组件。需要1.2M硬盘空间。<p> <asp:RadioButton id="Radio2" Text="精简安装" GroupName="RadioGroup1" runat="server"/><br> 这个选项将安装运行该产品所需要的最小文件。需要350KB的硬盘空间。<p> <asp:RadioButton id="Radio3" Text="完全安装" GroupName="RadioGroup1" runat="server"/><br> 这个选项将安装所有的组件。需要4.3M硬盘空间。<p> <asp:Button id="Button1" Text="Submit" OnClick="SubmitBtn_Click" runat=server/> <asp:Label id="Label1" Font-Bold="true" runat="server" /> </form> </body> </html>
|