所以我现在正在使用ASP.NET和VB.NET。以下是我显示视图的方式:
<tr>
<td colspan="2">
<TABLE id="Table1" cellSpacing="0" cellPadding="0" width="100%" border="0">
<TR>
<TD>
<asp:repeater id="repVKM" runat="server">
<ItemTemplate>
<br>
<input id="radioBtnID" type="radio" name="radVKM" value='<%# DataBinder.Eval(container.Dataitem, "BJBVKMID") %>'>
<%# DataBinder.Eval(Container.DataItem, "BJBVKM") %>
</ItemTemplate>
</asp:repeater>
</TD>
</TR>
</TABLE>
</td>
</tr>
以下是我如何填充转发器中的无线电按钮:
Me.repVKM.DataSource = clsInschrijving2elijnManager.GetVoorkeurMateries(False)
Me.repVKM.DataBind()
以下是我试图查看检查哪个单选按钮的方法:
Dim voorkeurMateries = repVKM.Items
Dim selectieVKM As String
For Each item As RepeaterItem In voorkeurMateries
Dim rb As RadioButton
rb = item.FindControl("radioBtnID")
If rb.Checked Then
selectieVKM = rb.Text
Exit For
End If
Next
它对“rb”的值给出“Nothing”错误(如空错误),因为看起来他找不到正确的控件?我不太了解VB.NET和ASP.NET,所以我似乎无法找到解决方案。
答案 0 :(得分:1)
您的代码存在两个问题。首先,RadioButton上没有runat="server"
标签,因此在后面的代码中永远无法检测到它。
其次,你正在寻找一个RadioButton控件,而在HTML中你有一个普通的html电台。
因此要么将runat = server添加到现有的RadioButton
<input id="radioBtnID" runat="server" type="radio" name="radVKM">
并将后面的代码更改为
Dim radio As HtmlInputRadioButton = CType(item.FindControl("radioBtnID"),HtmlInputRadioButton)
或者在Repeater中使其成为“真正的”aspnet控件。然后循环中的代码是正确的。
<asp:RadioButton ID="RadioButton1" runat="server" Text='<%# Eval("radVKM") %>' />