【问题标题】:Display selected check box values in MVC3在 MVC3 中显示选中的复选框值
【发布时间】:2011-10-07 18:22:51
【问题描述】:

我在 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...            
        }
    }

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

【问题讨论】:

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


    【解决方案1】:

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

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

    如果您希望这些复选框出现在一个列表中,您需要为它们提供所有相同的名称和不同的值。然后您可以采取类似SubmitCB(string[] CBs) 的操作并查看该数组中的值(它们将是选定复选框的值)。

    【讨论】:

    • 如果我的复选框多于 3 个,我该如何处理.. 有这么多复选框作为参数很麻烦?
    • 使用第二种方法。您的所有复选框都应具有相同的名称和不同的 ID。我通常选择不为此使用 Html.CheckBox 帮助器,因为它有点愚蠢。但这是你的选择。只需检查 MVC 3 复选框列表的 SO:stackoverflow.com/questions/2067786/asp-net-mvc-checkbox-group
    猜你喜欢
    • 1970-01-01
    • 2014-04-13
    • 1970-01-01
    • 2014-03-22
    • 2022-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-08
    相关资源
    最近更新 更多