Проблема с использованием RadioButton в GridView в ASP.NET - PullRequest
0 голосов
/ 27 июня 2011
    <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.Можете ли вы помочь мне с этим, пожалуйста.

Ответы [ 3 ]

1 голос
/ 27 июня 2011

вы должны использовать runat="server"

<input name="MyRadioButton" type="radio" runat="server" id="MyRadioButton" />
1 голос
/ 27 июня 2011

Вы можете использовать FindControl только с серверными элементами управления. Замените элемент <input> HTML переключателем ASP.NET, например:

<asp:RadioButton ID="MyRadioButton" runat="server"  ... />
0 голосов
/ 27 июня 2011

Как уже упоминалось, добавьте runat = "server" и измените порядок оцениваемых условий с if (rad.Checked&&rad!=null) на if (rad!=null && rad.Checked)

Кстати, сделать радиокнопки в столбце GridView не так просто.Посмотрите на эту ссылку, если вы наткнетесь на проблему: Добавление столбца радио-кнопок GridView

...