RadioButtonList Web 服务器控件声明性语法
更新:2007 年 11 月
创建一组单选按钮。此控件支持绑定到数据源。
<asp:RadioButtonList
AccessKey="string"
AppendDataBoundItems="True|False"
AutoPostBack="True|False"
BackColor="color name|#dddddd"
BorderColor="color name|#dddddd"
BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double|Groove|Ridge|
Inset|Outset"
BorderWidth="size"
CausesValidation="True|False"
CellPadding="integer"
CellSpacing="integer"
CssClass="string"
DataMember="string"
DataSource="string"
DataSourceID="string"
DataTextField="string"
DataTextFormatString="string"
DataValueField="string"
Enabled="True|False"
EnableTheming="True|False"
EnableViewState="True|False"
Font-Bold="True|False"
Font-Italic="True|False"
Font-Names="string"
Font-Overline="True|False"
Font-Size="string|Smaller|Larger|XX-Small|X-Small|Small|Medium|
Large|X-Large|XX-Large"
Font-Strikeout="True|False"
Font-Underline="True|False"
ForeColor="color name|#dddddd"
Height="size"
ID="string"
OnDataBinding="DataBinding event handler"
OnDataBound="DataBound event handler"
OnDisposed="Disposed event handler"
OnInit="Init event handler"
OnLoad="Load event handler"
OnPreRender="PreRender event handler"
OnSelectedIndexChanged="SelectedIndexChanged event handler"
OnTextChanged="TextChanged event handler"
OnUnload="Unload event handler"
RepeatColumns="integer"
RepeatDirection="Horizontal|Vertical"
RepeatLayout="Table|Flow"
runat="server"
SelectedIndex="integer"
SelectedValue="string"
SkinID="string"
Style="string"
TabIndex="integer"
TextAlign="Left|Right"
ToolTip="string"
ValidationGroup="string"
Visible="True|False"
Width="size"
>
<asp:ListItem
Enabled="True|False"
Selected="True|False"
Text="string"
Value="string"
/>
</asp:RadioButtonList>
备注
RadioButtonList 控件使您能够创建单项选择的单选按钮组,可以通过绑定到数据源动态生成这个组。若要指定要在 RadioButtonList 控件中显示的项,请针对每项在 RadioButtonList 控件的开始标记和结束标记之间放置一个 ListItem 元素。
![]() |
---|
还可以使用 RadioButton 控件。对于使用数据绑定创建一组单选按钮,RadioButtonList 控件更方便,而单个 RadioButton 控件则可以更好地控制布局。 |
RadioButtonList 控件还支持数据绑定。若要将控件绑定到数据源,请首先创建数据源(如 ArrayList 对象),该数据源包含要显示在控件中的项。下一步,使用 DataBind 方法将数据源绑定到 RadioButtonList 控件。使用 DataTextField 和 DataValueField 属性分别指定数据源中哪个字段绑定到控件中每个列表项的 Text 和 Value 属性。现在,RadioButtonList 控件将显示数据源中的信息。
若要确定 RadioButtonList 控件中的选定项,请循环访问 Items 集合并测试该集合中每一项的 Selected 属性。
可以使用 RepeatLayout 和 RepeatDirection 属性指定如何呈现列表。如果将 RepeatLayout 设置为 Table(默认设置),将以表格形式呈现列表。如果将它设置为 Flow,则不会使用任何表格结构呈现列表。默认情况下,RepeatDirection 设置为 Vertical。将此属性设置为 Horizontal 可以水平呈现该列表。
![]() |
---|
文本在 RadioButtonList 控件中显示之前并非 HTML 编码形式。这使得可以在文本中的 HTML 标记中嵌入脚本。如果控件的值是由用户输入的,请务必要对输入值进行验证以防止出现安全漏洞。 |
有关 RadioButtonList Web 服务器控件的属性和事件的详细信息,请参见 RadioButtonList 类文档。
示例
下面的示例演示如何使用 RadioButtonList 控件向用户显示一组互相排斥的选项。
<%@ Page Language="VB" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>RadioButtonList Example</title>
<script language="VB" runat="server">
Sub Button1_Click(Source As Object, e As EventArgs)
If RadioButtonList1.SelectedIndex > - 1 Then
Label1.Text = "You selected: " & RadioButtonList1.SelectedItem.Text
End If
End Sub
Sub chkLayout_CheckedChanged(sender As Object, e As EventArgs)
If chkLayout.Checked = True Then
RadioButtonList1.RepeatLayout = RepeatLayout.Table
Else
RadioButtonList1.RepeatLayout = RepeatLayout.Flow
End If
End Sub
Sub chkDirection_CheckedChanged(sender As Object, e As EventArgs)
If chkDirection.Checked = True Then
RadioButtonList1.RepeatDirection = RepeatDirection.Horizontal
Else
RadioButtonList1.RepeatDirection = RepeatDirection.Vertical
End If
End Sub
</script>
</head>
<body>
<h3>RadioButtonList Example</h3>
<form id="form1" runat="server">
<asp:RadioButtonList id="RadioButtonList1" runat="server">
<asp:ListItem>Item 1</asp:ListItem>
<asp:ListItem>Item 2</asp:ListItem>
<asp:ListItem>Item 3</asp:ListItem>
<asp:ListItem>Item 4</asp:ListItem>
<asp:ListItem>Item 5</asp:ListItem>
<asp:ListItem>Item 6</asp:ListItem>
</asp:RadioButtonList>
<br />
<asp:CheckBox id="chkLayout" OnCheckedChanged="chkLayout_CheckedChanged" Text="Display Table Layout" Checked="true" AutoPostBack="true" runat="server" />
<br />
<asp:CheckBox id="chkDirection" OnCheckedChanged="chkDirection_CheckedChanged" Text="Display Horizontally" AutoPostBack="true" runat="server" />
<br />
<asp:Button id="Button1" Text="Submit" onclick="Button1_Click" runat="server"/>
<br />
<asp:Label id="Label1" font-names="Verdana" font-size="8pt" runat="server"/>
</form>
</body>
</html>
<%@ Page Language="C#" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>RadioButtonList Example</title>
<script language="C#" runat="server">
void Button1_Click(object Source, EventArgs e)
{
if (RadioButtonList1.SelectedIndex > -1)
{
Label1.Text = "You selected: " + RadioButtonList1.SelectedItem.Text;
}
}
void chkLayout_CheckedChanged(Object sender, EventArgs e)
{
if (chkLayout.Checked == true)
{
RadioButtonList1.RepeatLayout = RepeatLayout.Table;
}
else
{
RadioButtonList1.RepeatLayout = RepeatLayout.Flow;
}
}
void chkDirection_CheckedChanged(Object sender, EventArgs e)
{
if (chkDirection.Checked == true)
{
RadioButtonList1.RepeatDirection = RepeatDirection.Horizontal;
}
else
{
RadioButtonList1.RepeatDirection = RepeatDirection.Vertical;
}
}
</script>
</head>
<body>
<h3>RadioButtonList Example</h3>
<form id="form1" runat="server">
<asp:RadioButtonList id="RadioButtonList1" runat="server">
<asp:ListItem>Item 1</asp:ListItem>
<asp:ListItem>Item 2</asp:ListItem>
<asp:ListItem>Item 3</asp:ListItem>
<asp:ListItem>Item 4</asp:ListItem>
<asp:ListItem>Item 5</asp:ListItem>
<asp:ListItem>Item 6</asp:ListItem>
</asp:RadioButtonList>
<br />
<asp:CheckBox id="chkLayout" OnCheckedChanged="chkLayout_CheckedChanged" Text="Display Table Layout" Checked="true" AutoPostBack="true" runat="server" />
<br />
<asp:CheckBox id="chkDirection" OnCheckedChanged="chkDirection_CheckedChanged" Text="Display Horizontally" AutoPostBack="true" runat="server" />
<br />
<asp:Button id="Button1" Text="Submit" onclick="Button1_Click" runat="server"/>
<br />
<asp:Label id="Label1" font-names="Verdana" font-size="8pt" runat="server"/>
</form>
</body>
</html>
<%@ Page Language="JScript" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>RadioButtonList Example</title>
<script language="JScript" runat="server">
function Button1_Click(Source : System.Object, e : EventArgs)
{
if (RadioButtonList1.SelectedIndex > -1)
{
Label1.Text = "You selected: " + RadioButtonList1.SelectedItem.Text;
}
}
function chkLayout_CheckedChanged(sender : System.Object, e : EventArgs)
{
if (chkLayout.Checked == true)
{
RadioButtonList1.RepeatLayout = RepeatLayout.Table;
}
else
{
RadioButtonList1.RepeatLayout = RepeatLayout.Flow;
}
}
function chkDirection_CheckedChanged(sender : System.Object, e : EventArgs)
{
if (chkDirection.Checked == true)
{
RadioButtonList1.RepeatDirection = RepeatDirection.Horizontal;
}
else
{
RadioButtonList1.RepeatDirection = RepeatDirection.Vertical;
}
}
</script>
</head>
<body>
<h3>RadioButtonList Example</h3>
<form id="form1" runat="server">
<asp:RadioButtonList id="RadioButtonList1" runat="server">
<asp:ListItem>Item 1</asp:ListItem>
<asp:ListItem>Item 2</asp:ListItem>
<asp:ListItem>Item 3</asp:ListItem>
<asp:ListItem>Item 4</asp:ListItem>
<asp:ListItem>Item 5</asp:ListItem>
<asp:ListItem>Item 6</asp:ListItem>
</asp:RadioButtonList>
<br />
<asp:CheckBox id="chkLayout" OnCheckedChanged="chkLayout_CheckedChanged" Text="Display Table Layout" Checked="true" AutoPostBack="true" runat="server" />
<br />
<asp:CheckBox id="chkDirection" OnCheckedChanged="chkDirection_CheckedChanged" Text="Display Horizontally" AutoPostBack="true" runat="server" />
<br />
<asp:Button id="Button1" Text="Submit" onclick="Button1_Click" runat="server"/>
<br />
<asp:Label id="Label1" font-name="Verdana" font-size="8pt" runat="server"/>
</form>
</body>
</html>