C# 按钮勾选多个单选按钮

C# 按钮勾选多个单选按钮,c#,asp.net,.net,asp.net-mvc,razor,C#,Asp.net,.net,Asp.net Mvc,Razor,我有一个.NETMVC项目,其中视图中有多个单选按钮,绑定到SQL表中的唯一项。 这是“我的视图”页面中的一个代码块,为每行生成两个单选按钮 @foreach(var item in Model){ @Html.RadioButton(item.ReviewID, "Retain")Retain   @Html.RadioButton(item.ReviewID, "False")Remove } 在整个列表下面,我有两个按钮,我正在尝试使用它们,它们将勾选所有相应的单选按

我有一个.NETMVC项目,其中视图中有多个单选按钮,绑定到SQL表中的唯一项。 这是“我的视图”页面中的一个代码块,为每行生成两个单选按钮

@foreach(var item in Model){
@Html.RadioButton(item.ReviewID, "Retain")Retain  
@Html.RadioButton(item.ReviewID, "False")Remove

}
在整个列表下面,我有两个按钮,我正在尝试使用它们,它们将勾选所有相应的单选按钮

<input type="button" value="Retain All" onclick="retainAll()" />
<input type="button" value="Retain All" onclick="removeAll()" />
但是,当我尝试单击任何按钮时,它都不起任何作用。 在我看来,这就是它的样子:

@helper retainAll()
{
    foreach (var item in Model)
    {
        @Html.RadioButton(item.ReviewID, "Retain", isChecked: true);
    }
}

@helper removeAll()
{

    foreach (var item in Model)
    {
        @Html.RadioButton(item.ReviewID, "Remove", isChecked: true);
    }

}
请注意,此处的“保存更改”按钮起作用。单击时,它会使用单击的单选按钮更新SQL数据库

“全部保留”和“全部删除”按钮的想法只是用“保留”或“删除”勾选所有单选按钮

**同样,我不是在问如何将单选按钮的值发回我的sql表。只要询问是否有一种方法,如果我单击视图中的“保留全部”或“删除全部”按钮,它将勾选视图中所有相应的单选按钮。将其“isChecked”属性设置为true

删除了“我的视图”中的帮助程序代码块,并将其替换为:

<script>
function retainAll()
{
    @foreach (var item in Model)
    {
        @Html.RadioButton("rbResponse" + item.ReviewItemID.ToString(), "Retain", isChecked: true);
    }
}

function removeAll()
{
    @foreach (var item in Model)
    {
        @Html.RadioButton("rbResponse" + item.ReviewItemID.ToString(), "Remove", isChecked: true);
    }

}
</script>

我终于想出了解决办法。在我看来,我制作了这样一个脚本:

<script type="text/javascript">

        $(document).ready(function () {
            $("#selectRetain").click(function () {
                $('input:radio[value=Retain]').prop('checked', true);
            });

            $("#selectRemove").click(function () {
                $('input:radio[value=Remove]').prop('checked', true);
            })
        });        
    </script>
并将我的按钮更改为:

<input type="button" value="Retain All" id='selectRetain'>
<input type="button" value="Retain All" id='selectRemove'>

现在每当我选择每个按钮,它们将页面中单选按钮的isChecked值更改为true。

removeAll和retainAll的函数是什么?您的@helper方法没有意义-这是razor代码,在模型传递到视图之前由服务器执行-它在客户端上不存在。您的foreach循环也没有意义-您正在绑定不存在名为item.ReviewID的属性的单选按钮,提交时它将不会绑定到任何内容。您需要一个视图模型,其中包含一个say string SelectedValue和选项的列表属性。您需要将函数编写为JavaScript函数,以便它们在客户端执行。页面呈现后,razor代码将不再存在。@StephenMuecke,item.ReviewID属性是从我的控制器获取的。在我的控制器中有一个LINQ查询,它从我的SQL表中获取数据并将其传递到我的视图中。它绑定到SQL表中每一行的ReviewID值。