使用datagrid控件添加单选框时,如果直接在模板中加入radiobutton服务器控件,由于.net的机制,无法将这些radiobutton在客户端出现在同一个组里面。这时我们可以使用radio标签来实现。
下面是hmtl 页面代码
<form id=”form1″ method=”post” runat=”server”>
<asp:datagrid id=”datagrid1″ runat=”server” autogeneratecolumns=”false”>
<columns>
<asp:templatecolumn>
<itemtemplate>
<input type=”radio” name=”rdo” <%# getchecked(databinder.eval(container, “dataitem”)) %> value=<%# databinder.eval(container, “dataitem”) %>>
<asp:label runat=”server” text=<%# databinder.eval(container, “dataitem”) %> id=”label1″>
</asp:label>
</itemtemplate>
</asp:templatecolumn>
</columns>
</asp:datagrid><br>
<asp:button id=”btnok” runat=”server” text=”确定”></asp:button>
下面是page_load中的数据绑定代码
dim arr as new arraylist
arr.add(“新闻综合”)
arr.add(“综艺”)
arr.add(“电影”)
arr.add(“教育”)
arr.add(“戏剧”)
arr.add(“军事”)
arr.add(“体育”)
datagrid1.datasource = arr
datagrid1.databind()
下面是btnok_click中获取选择项的代码
response.write(request.form(“rdo”))
下面是设置绑定项中哪个radio被中的函数
public function getchecked(byval str as string) as string
if str = request.form(“rdo”) then
return “checked”
else
return “”
end if
end function