ASP中GridView中RadioButton的使用问题.NET

本文关键字:问题 NET GridView RadioButton ASP | 更新日期: 2023-09-27 18:00:23

    <asp:TemplateField HeaderText="Select One">
    <ItemTemplate>
    <input name="MyRadioButton" type="radio" />
    </ItemTemplate>
    </asp:TemplateField> 

aspx.cs

protected void Button1_Click(object sender, EventArgs e)
{
    foreach (GridViewRow di in GridView1.Rows)
    {
        RadioButton rad = (RadioButton)di.FindControl("MyRadioButton");
        //Giving Error:Object reference not set to an instance of an object.
        if (rad.Checked&&rad!=null)
        {
            s = di.Cells[1].Text;
        }
    }
    Response.Redirect("applicants.aspx?form=" +s);
}

我无法获取在RadioButton中选择的行。你能帮我做这个吗。

ASP中GridView中RadioButton的使用问题.NET

您只能将FindControl与服务器端控件一起使用。用ASP替换<input> HTML元素。NET单选按钮,例如:

<asp:RadioButton ID="MyRadioButton" runat="server"  ... />

您必须使用runat="server"

<input name="MyRadioButton" type="radio" runat="server" id="MyRadioButton" />

如前所述,添加runat="server"并更改从if (rad.Checked&&rad!=null)评估到if (rad!=null && rad.Checked) 的条件顺序

顺便说一下,让GridView列中的单选按钮具有独占性并不容易。如果您遇到问题,请查看此链接:添加单选按钮的GridView列