5.5 单选控件和单选组控件(RadioButton和RadioButtonList)

  在投票等系统中,通常需要使用单选控件和单选组控件。顾名思义,在单选控件和单选组控件的项目中,只能在有限种选择中进行一个项目的选择。在进行投票等应用开发并且只能在选项中选择单项时,单选控件和单选组控件都是最佳的选择。

5.5.1 单选控件(RadioButton)
  单选控件可以为用户选择某一个选项,单选控件常用属性如下所示。
?1)Checked:控件是否被选中。
?2)GroupName:单选控件所处的组名。
?3)TextAlign:文本标签相对于控件的对齐方式。
  单选控件通常需要Checked属性来判断某个选项是否被选中,多个单选控件之间可能存在着某些联系,这些联系通过GroupName进行约束和联系,示例代码如下所示。
+展开
-HTML
        <asp:RadioButton ID="RadioButton1" runat="server" GroupName="choose" 
            Text="Choose1" />

        <asp:RadioButton ID="RadioButton2" runat="server" GroupName="choose" 
            Text="Choose2" />

  上述代码声明了两个单选控件,并将GroupName属性都设置为“choose”。单选控件中最常用的事件是CheckedChanged,当控件的选中状态改变时,则触发该事件,示例代码如下所示。
+展开
-C#
        protected void RadioButton1_CheckedChanged(object sender, EventArgs e)
        {
            Label1.Text = "第一个被选中";
        }
        protected void RadioButton2_CheckedChanged(object sender, EventArgs e)
        {
            Label1.Text = "第二个被选中";
        }

上述代码中,当选中状态被改变时,则触发相应的事件。运行结果如图5-8所示。
单选控件的使用
图5-8 单选控件的使用
  与TextBox文本框控件相同的是,单选控件不会自动进行页面回传,必须将AutoPostBack属性设置为true时才能在焦点丢失时触发相应的CheckedChanged事件。

5.5.2 单选组控件(RadioButtonList)
  与单选控件相同,单选组控件也是只能选择一个项目的控件,而与单选控件不同的是,单选组控件没有GroupName属性,但是却能够列出多个单选项目。另外,单选组控件所生成的代码也比单选控件实现的相对较少。单选组控件添加项如图5-9所示。
单选组控件添加项
图5-9 单选组控件添加项

  添加项目后,系统自动在.aspx页面声明服务器控件代码,代码如下所示。
+展开
-HTML
        <asp:RadioButtonList ID="RadioButtonList1" runat="server">
            <asp:ListItem>Choose1</asp:ListItem>
            <asp:ListItem>Choose2</asp:ListItem>
            <asp:ListItem>Choose3</asp:ListItem>
        </asp:RadioButtonList>

  上述代码使用了单选组控件进行单选功能的实现,单选组控件还包括一些属性用于样式和重复的配置。单选组控件的常用属性如下所示:
?1)DataMember:在数据集用做数据源时做数据绑定。
?2)DataSource:向列表填入项时所使用的数据源。
?3)DataTextFiled:提供项文本的数据源中的字段。
?4)DataTextFormat:应用于文本字段的格式。
?5)DataValueFiled:数据源中提供项值的字段。
?6)Items:列表中项的集合。
?7)RepeatColumn:用于布局项的列数。
?8)RepeatDirection:项的布局方向。
?9)RepeatLayout:是否在某个表或者流中重复。
  同单选控件一样,双击单选组控件时系统会自动生成该事件的声明,同样可以在该事件中确定代码。当选择一项内容时,提示用户所选择的内容,示例代码如下所示。
+展开
-C#
        protected void RadioButtonList1_SelectedIndexChanged(object sender, EventArgs e)
        {
            Label1.Text = RadioButtonList1.Text;//文本标签段的值等于选择的控件的值
        }

加支付宝好友偷能量挖...


评论(0)网络
阅读(223)喜欢(0)Asp.Net/C#/WCF