asp.net - radio默认选中 - vue单选框




如何在Repeater Item中查找选中的RadioButton? (2)

我敢肯定,你可以在这里使用LINQ to Objects的唯一方法是从foreach循环中取出条件并将它们移到where子句。

RadioButton checked = 
    (from item in answerVariantRepeater.Items
    let radioButton = (RadioButton)item.FindControl("answerVariantRadioButton")
    where radioButton.Checked
    select radioButton).FirstOrDefault();

我有这样定义的ASPX页面上的Repeater控件:

<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>

为了在时间上只允许选择一个单选按钮,我已经使用了这篇文章的一个技巧。

但现在,当表单提交时,我想确定哪个单选按钮被检查。

我可以这样做:

RadioButton checkedButton = null;

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

但希望可以做些简单的事情(也许通过LINQ到对象)。


由于您已经在使用javascript来处理客户端上的单选按钮单击事件,因此您可以同时使用所选值更新隐藏字段。

您的服务器代码将只能访问隐藏字段中的选定值。





radio-button