Wenn Sie das DataGrid-Steuerelement zum Hinzufügen von Optionsfeldern verwenden und das RadioButton-Serversteuerelement direkt zur Vorlage hinzufügen, können diese RadioButtons aufgrund des .Net-Mechanismus nicht in derselben Gruppe auf dem Client angezeigt werden. Zu diesem Zeitpunkt können wir das Radio-Tag verwenden, um dies zu erreichen.
Das Folgende ist der HTML-Seitencode
<form id="Form1" method="post" runat="server">
<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>
</Spalten>
</asp:datagrid><br>
<asp:Button id="btnOk" runat="server" Text="OK"></asp:Button>
Das Folgende ist der Datenbindungscode in Page_Load
Dim arr As New ArrayList
arr.Add("News Comprehensive")
arr.Add("Varieté-Show")
arr.Add("Film")
arr.Add("Bildung")
arr.Add("Drama")
arr.Add("Militär")
arr.Add("Sports")
DataGrid1.DataSource = arr
DataGrid1.DataBind()
Das Folgende ist der Code zum Abrufen des ausgewählten Elements in btnOk_Click
Response.Write(Request.Form("rdo"))
Das Folgende ist die Funktion zum Festlegen, welches Radio im Bindungselement ausgewählt wird
Public Function GetChecked(ByVal str Als String) Als String
Wenn str = Request.Form("rdo") Dann
Rückgabe „geprüft“
Anders
Zurückkehren ""
Ende wenn
Funktion beenden