Asp.net 从asp中继器获取正确的控件
所以我现在在ASP.NET和VB.NET中工作。以下是我显示视图的方式:Asp.net 从asp中继器获取正确的控件,asp.net,vb.net,Asp.net,Vb.net,所以我现在在ASP.NET和VB.NET中工作。以下是我显示视图的方式: <tr> <td colspan="2"> <TABLE id="Table1" cellSpacing="0" cellPadding="0" width="100%" border="0"> <TR> <TD> <a
<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>
下面是我如何查看哪个单选按钮被选中的:
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
它给出了一个Nothing错误,比如rb值上的null错误,因为他似乎找不到正确的控件?我对VB.NET和ASP.NET不太了解,所以我似乎找不到解决方案。您的代码有两个问题。首先,RadioButton上没有runat=server标记,因此永远无法在代码隐藏中检测到它 第二,您正在寻找RadioButton控件,而在HTML中,您有一个普通的HTML收音机 因此,将runat=server添加到现有的单选按钮
<input id="radioBtnID" runat="server" type="radio" name="radVKM">
或者让它成为中继器中真正的aspnet控件。那么循环中的代码是正确的
<asp:RadioButton ID="RadioButton1" runat="server" Text='<%# Eval("radVKM") %>' />
您使用的是VB.NET而不是VB6,这是ASP.NET而不是ASP
Dim radio As HtmlInputRadioButton = CType(item.FindControl("radioBtnID"),HtmlInputRadioButton)
<asp:RadioButton ID="RadioButton1" runat="server" Text='<%# Eval("radVKM") %>' />