在网格视图的每一行中只允许检查一个单选按钮

use*_*998 1 c# gridview

大家好我用网格视图将多行记录插入数据库.这就是我的网格视图的样子在此输入图像描述

问题是可以选择所有单选按钮,我只需要为每一行选择1个单选按钮.我的Web表单的工作方式是用户必须使用单选按钮从两个文本框中选择正确的答案,然后我必须将检查的答案提交给数据库.这可能吗?

aspx:`

             <asp:ButtonField Text="SingleClick" CommandName="SingleClick"
                    Visible="False" />

                    <asp:TemplateField HeaderText="Question">
                        <ItemTemplate>
                            <br />
                            <asp:TextBox ID="TextBox1" runat="server" TextMode="MultiLine"></asp:TextBox>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="Answer">
                        <ItemTemplate>
                            <br />
                            <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
                            <asp:RadioButton ID="RadioButton1" runat="server" />
                            <br />
                            <asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
                            <asp:RadioButton ID="RadioButton2" runat="server" />
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField ShowHeader="False">
                        <FooterTemplate>
                            <asp:Button ID="btnAdd" runat="server" Text="+" onclick="btnAdd_Click1" />
                        </FooterTemplate>

                    </asp:TemplateField>
                </Columns>
            </asp:GridView>
    </td>
</tr>`
Run Code Online (Sandbox Code Playgroud)

代码背后:

  protected void RadioButton1_CheckedChanged(object sender, EventArgs e)
    {
        //Clear the existing selected row 
        foreach (GridViewRow oldrow in GridView1.Rows)
        {
            ((RadioButton)oldrow.FindControl("RadioButton1")).Checked = false;
        }

        //Set the new selected row
        RadioButton rb = (RadioButton)sender;
        GridViewRow row = (GridViewRow)rb.NamingContainer;
        ((RadioButton)row.FindControl("RadioButton1")).Checked = true;

    }
Run Code Online (Sandbox Code Playgroud)

Jie*_*qin 9

我假设你在谈论ASP.NET.您是否尝试将单选按钮组合在一起?

这是一个例子.

<asp:RadioButton id="rBtn1" GroupName="Fruits"
         Text="Apple" runat="server"/>
<asp:RadioButton id="rBtn2" GroupName="Fruits"
         Text="Orange" runat="server"/>
<asp:RadioButton id="rBtn3" GroupName="Colors"
         Text="Blue" runat="server"/>
<asp:RadioButton id="rBtn4" GroupName="Colors"
         Text="Red" runat="server"/>
Run Code Online (Sandbox Code Playgroud)

选择Apple时,无法选择Orange.如果在选择Apple时选择了橙色,Apple将自动取消选中.但是当选择Apple时,当您单击Blue时,Apple将不会被取消选中.