【问题标题】:get selected input radio button asp.net webforms获取选定的输入单选按钮 asp.net webforms
【发布时间】: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 输入,则为单选按钮提供相同的名称但设置唯一的值每个人。
  • 它们位于&lt;asp:Repeater &gt; ItemTemplate 中,因此您必须使用该中继器的.FindControl 来查找对无线电的引用。此外,您正在嵌套无效的&lt;form&gt; 标签
  • 你能告诉我如何找到它吗?
  • 第二个问题是,如果我不将它们放入表单中,我将无法创建问题,因为每个问题都会更改收音机
  • @KnightM 看看这个SO post,它应该可以帮助你。或者这个post's answer,特别是foreach (RepeaterItem item in rptComments.Items)Button btncontrol = item.FindControl("btnEditComment") as Button; 代码位

标签: c# html css asp.net


【解决方案1】:

这是一个带有radioButtonList的解决方案:

<div class="row">
        <div class="col-md-4">
            <h2>Getting started</h2>
            <asp:RadioButtonList ID="RadioButtonList1" runat="server" OnSelectedIndexChanged="RadioButtonList1_SelectedIndexChanged">
                <asp:ListItem>item1</asp:ListItem>
                <asp:ListItem>item2</asp:ListItem>
                <asp:ListItem>item3</asp:ListItem>
            </asp:RadioButtonList>
        </div>
    </div>

然后访问所选项目的值:

protected void RadioButtonList1_SelectedIndexChanged(object sender, EventArgs e)
        {
            String string1 = RadioButtonList1.SelectedItem.Text;
        }

不要忘记勾选“启用 AutoPostBack”,这样您会注意到单选按钮之间切换的变化。

【讨论】:

  • 他的控件在中继器中
猜你喜欢
  • 2010-12-04
  • 2018-02-07
  • 2016-09-20
  • 2011-07-28
  • 1970-01-01
  • 2012-07-31
  • 1970-01-01
  • 2016-08-30
  • 1970-01-01
相关资源
最近更新 更多