【问题标题】:How do I get checked boxes in ASP.NET MVC controller如何在 ASP.NET MVC 控制器中选中复选框
【发布时间】:2019-08-29 15:31:31
【问题描述】:

我有一个问题,在 asp.net mvc 控制器中获得复选框... 我有一个包含许多带有值的复选框的表单。所以用户可以检查他想要的任意数量的框,而我需要的是复选框中的那些值...我尝试的是得到 ​​p>

public ActionResult actionName(FormCollection form){...}

我什至不知道如何访问传递给函数的复选框值...

我一直在寻找答案,但找不到答案。我如何在控制器中得到它...顺便说一句,我正在使用 C#。

--编辑

我有数据列表并将其传递到视图中...然后,我将复选框创建为

<input type="checkbox" name="CheckedCart" value="@ValueForBox" />

其中@ValueForBox 是我需要在控制器中获取的值,如果它被选中..

【问题讨论】:

  • 显示您如何在视图中创建复选框。
  • 同时显示您计划如何将表单发布到控制器
  • 如果你使用FormCollection(你不应该这样做),那么 `var value = form["CheckedCart"] 将包含复选框被选中的值。您应该使用的是模型并绑定到您的模型

标签: asp.net-mvc-5


【解决方案1】:

** 我在回答时没有意识到这是一个旧帖子。但是,它可能会有所帮助。

我假设你有multiple checkboxes in the View with same name。 并且您需要 form submit 上控制器中的 selected checkboxes 的值。

如果是,那么下面会帮助你。

在控制器中

    [HttpPost]
    public ActionResult Index(List<string> CheckedCart)
    {

    }

在视野中

 @using (Html.BeginForm())
{
<input type="checkbox" name="CheckedCart" value="value1" />

<input type="checkbox" name="CheckedCart" value="value2" />

<input type="checkbox" name="CheckedCart" value="whatever the value" />

<input type="submit" id="btnSave" value="Save" />
}

提交表单时。您将在 index 方法中的参数List&lt;string&gt; CheckedCart 中获得选定复选框的值。未选中的复选框的值为 false。

所以,按照上面的例子 if second checkbox is checked and other are false。 在List&lt;string&gt; CheckedCart 你会得到 ​​p>

[0] false

[1] value2

[2] false

【讨论】:

    猜你喜欢
    • 2012-12-31
    • 1970-01-01
    • 1970-01-01
    • 2020-01-16
    • 2014-12-29
    • 1970-01-01
    • 2012-05-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多