Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to find checked RadioButton inside Repeater Item?

I have a Repeater control on ASPX-page defined like this:

<asp:Repeater ID="answerVariantRepeater" runat="server"
    onitemdatabound="answerVariantRepeater_ItemDataBound">
    <ItemTemplate>
        <asp:RadioButton ID="answerVariantRadioButton" runat="server"
            GroupName="answerVariants" 
            Text='<%# DataBinder.Eval(Container.DataItem, "Text")%>'"/>
    </ItemTemplate>
</asp:Repeater>

To allow select only one radio button in time I have used a trick form this article.

But now when form is submitted I want to determine which radio button is checked.

I could do this:

RadioButton checkedButton = null;

foreach (RepeaterItem item in answerVariantRepeater.Items)
{
    RadioButton control=(RadioButton)item.FindControl("answerVariantRadioButton");
    if (control.Checked)
    {
        checkedButton = control;
        break;
    }
}

but hope it could be done somehow simplier (maybe via LINQ to objects).

like image 671
Alexander Prokofyev Avatar asked Nov 14 '08 13:11

Alexander Prokofyev


2 Answers

You could always use Request.Form to get the submitted radio button:

var value = Request.Form["answerVariants"];

I think the submitted value defaults to the id of the <asp:RadioButton /> that was selected, but you can always add a value attribute - even though it's not officially an <asp:RadioButton /> property - and this will then be the submitted value:

<asp:RadioButton ID="answerVariantRadioButton" runat="server"
    GroupName="answerVariants" 
    Text='<%# DataBinder.Eval(Container.DataItem, "Text")%>'"
    value='<%# DataBinder.Eval(Container.DataItem, "SomethingToUseAsTheValue")%>' />
like image 106
Ian Oxley Avatar answered Sep 27 '22 18:09

Ian Oxley


Since You are using javascript already to handle the radio button click event on the client, you could update a hidden field with the selected value at the same time.

Your server code would then just access the selected value from the hidden field.

like image 41
HectorMac Avatar answered Sep 27 '22 20:09

HectorMac