使用DataGrid控件添加單選框時,如果直接在模板中加入RadioButton服務(wù)器控件,由于.Net的機制,無法將這些RadioButton在客戶端出現(xiàn)在同一個組里面。這時我們可以使用Radio標(biāo)簽來實現(xiàn)。
下面是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中的數(shù)據(jù)綁定代碼
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"))
下面是設(shè)置綁定項中哪個Radio被中的函數(shù)
Public Function GetChecked(ByVal str As String) As String
If str = Request.Form("rdo") Then
Return "checked"
Else
Return ""
End If
End Function
新聞熱點
疑難解答