radiobutton web 控件的基本功能即是html 控件的<input type="radio">。它的外观及功能我们已经在html 控件中展示过了,不过它比html 控件的功能更强,其使用语法如下:
<asp:radiobutton
id="被程序代码所控制的名称"
runat="server"
autopostback="true | false"
checked="true | false"
groupname="群组名称"
text="标示控件的文字"
textalign="设定文字在控件的左边或右边"
oncheckedchanged="事件程序名称"
/>

下列范例码放置了两个radiobutton web 控件,并在page_load 事件中设定控件的初始值。
<html>
<form id="form1" runat="server">
<asp:radiobutton id="radio1" text="第一个radio" runat="server"/><br>
<asp:radiobutton id="radio2" text="第二个radio" runat="server"/>
</form>
<script language="vb" runat="server">
sub page_load(sender as object,e as eventargs)
radio2.checked="true" '让第二个radio 变成选取
end sub
</script>
</html>

这个范例中radiobutton 是两个独立的web 控件,若我们希望在一群radiobutton web 控制中只能选择一个时,只要将它们的groupname 设为同一个即可。此时我们只能在这些radiobuttonweb 控件中选择其中一个。下列程序代码范例中,我们限制了只能在三个radiobutton web 控件中选择一个项目:
<html>
<form id="form1" runat="server">
<asp:radiobutton id="radio1" text="radiobutton1" groupname="group1"
checked="true"
runat="server"/><br>
<asp:radiobutton id="radio2" text="radiobutton2" groupname="group1"
runat="server"/><br>
<asp:radiobutton id="radio3" text="radiobutton3" groupname="group1"
runat="server"/><p>
<asp:button id="button1" text="check" onclick="button1_click"
runat="server"/><p>
<asp:label id="label1" runat="server"/>
</form>
<script language="vb" runat="server">
sub button1_click(sender as object,e as eventargs)
if radio1.checked then label1.text="你选择了radiobutton1"
if radio2.checked then label1.text="你选择了radiobutton2"
if radio3.checked then label1.text="你选择了radiobutton3"
end sub
</script>
</html>

autopostback 属性以及checkedchanged 事件
radiobutton web 控件有checkedchanged 事件,这个事件是在当radiobutton 控件的选择状态发生改变时触发;要触发这个事件,必须把autopostback 属性设为ture 才生效。下列程序代码范例将上述程序改成不需要按下按钮,只要使用者选择的项目不一样就会触发
checkedchanged 事件:
<html>
<form id="form1" runat="server">
<asp:radiobutton id="radio1" text="radiobutton1" groupname="group1"
autopostback="true"
oncheckedchanged="check_clicked"
runat="server"/><br>
<asp:radiobutton id="radio2" text="radiobutton2" groupname="group1"
autopostback="true"
oncheckedchanged="check_clicked"
runat="server"/><p>
<asp:label id="label1" runat="server"/>
</form>
<script language="vb" runat="server">
sub check_clicked(sender as object,e as eventargs)
if radio1.checked then label1.text="radio1"
if radio2.checked then label1.text="radio2"
end sub
</script>
</html>
