在MVC3中显示选中的复选框值

时间:2011-07-18 14:50:42

标签: asp.net asp.net-mvc asp.net-mvc-3 razor

我在MVC3中有一个视图,它有一堆复选框。用户选中一个或多个复选框并单击“提交”。在提交时,我想在局部视图或视图中显示复选框值。

<table>
   <tr><td> @Html.Label("Label1")</td><td>  @Html.CheckBox("CB1")</td></tr>   
   <tr><td> @Html.Label("Label2")</td><td>  @Html.CheckBox("CB2")</td></tr>
   <tr><td> @Html.Label("Label3")</td><td>  @Html.CheckBox("CB3")</td></tr>
</table>
 @Html.ActionLink("Submit", "SubmitCB")

控制器操作:

 public ActionResult SubmitCB()
    {
      @foreach (var checked in ?) 
        {
             //Display checked only here...            
        }
    }

我想知道如何循环并在局部视图或视图中显示结果。谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

您需要更改操作以允许其绑定到提交的表单。此外,您需要正确提交表单(我建议将其包装在表单标签中并使用提交按钮而不是操作链接。但这是您的操作的样子:

public ActionResult SubmitCB(bool CB1, bool CB2, bool CB3)
{
    ... // use CB1, CB2, and CB3 here
}

如果您希望这些复选框位于列表中,则需要为它们指定相同的名称和不同的值。然后你可以让你的动作采用SubmitCB(string[] CBs)之类的东西,然后查看该数组中的值(它们将是所选复选框的值)。