【发布时间】:2020-07-04 09:21:01
【问题描述】:
我的在线考试系统使用收音机类型的输入我的问题是我无法选择输入收音机
<form runat="server"">
<asp:Repeater ID="rptCustomers" runat="server">
<ItemTemplate>
<form>
<div class="question">
<div class="container">
<p class="title">
</p>
<asp:Label CssClass="title" runat="server" Text='<%# Eval("Title") %>'/>
<ul>
<li>
<input type="radio" name="radio" value="1">
<label><%# Eval("r1") %></label>
</li>
<li>
<input type="radio" name="a" value="1">
<label><%# Eval("r2") %></label>
</li>
<li>
<input type="radio" name="a" value="1">
<label ><%# Eval("r3") %></label>
</li>
<li>
<input type="radio" name="a" value="1">
<label ><%# Eval("r4") %></label>
</li>
</ul>
</div>
</div>
</form>
</ItemTemplate>
当我将 runat=server 添加到输入时,我无法在后面的代码中再次获取它们 无论如何要获得选定的无线电输入? 我正在使用 C#
【问题讨论】:
-
要么使用
runat="server"和GroupName="a"并为每个单选按钮分配唯一的名称Name="a1", Name="a2" etc.,或者,如果您使用纯 HTML 输入,则为单选按钮提供相同的名称但设置唯一的值每个人。 -
它们位于
<asp:Repeater >ItemTemplate 中,因此您必须使用该中继器的.FindControl来查找对无线电的引用。此外,您正在嵌套无效的<form>标签 -
你能告诉我如何找到它吗?
-
第二个问题是,如果我不将它们放入表单中,我将无法创建问题,因为每个问题都会更改收音机
-
@KnightM 看看这个SO post,它应该可以帮助你。或者这个post's answer,特别是
foreach (RepeaterItem item in rptComments.Items)和Button btncontrol = item.FindControl("btnEditComment") as Button;代码位