【问题标题】:ASP.NET MVC - Passing multiple checkbox values to the controllerASP.NET MVC - 将多个复选框值传递给控制器
【发布时间】:2011-08-28 11:55:09
【问题描述】:

我正在创建一个自定义 html 帮助程序,它允许我一次对多个复选框进行分组。除了复选框之外,我还使用了 span 元素,因为我需要以原生元素无法完成的方式设置复选框的样式。以下是我的自定义 HTML Helper 的示例输出:

<span class="checkbox" id="peopleInvolved-1"></span>
<input id="checkbox-peopleInvolved-1" name="peopleInvolved" style="display:none" type="checkbox" value="1"></input>
<label for="peopleInvolved-1">John Doe</label><br /> 

用户单击 span 元素(或可选的标签),它通过一些 jQuery 魔术模仿复选框。那部分效果很好。我无法理解的部分是将这些数据正确地传递回控制器。目前我正在执行以下操作来检索结果:

public ActionResult Index(string[] peopleInvolved){}

我了解我当前的设置只有选中的值才会返回到控制器。我也明白这是由于 HTML 限制造成的,ASP.NET 原生解决方法是在每个复选框旁边创建一个额外的隐藏元素。添加一个额外的隐藏输入元素没有问题,但在我的场景中如何应用?我将有几个使用相同名称组合在一起的复选框。

谢谢。

【问题讨论】:

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


    【解决方案1】:

    听起来您想要做的是从多个具有相同名称的 html 元素中发回字符串值列表。我要做的是将复选框替换为隐藏元素,具有data-value="John Doe" 之类的属性,并在单击您选择的 html 元素时填充或取消填充隐藏元素值。

    示例可用Here.

    【讨论】:

      猜你喜欢
      • 2012-12-31
      • 2014-12-29
      • 2019-08-09
      • 2018-12-15
      • 1970-01-01
      • 2020-09-02
      • 1970-01-01
      • 1970-01-01
      • 2011-09-25
      相关资源
      最近更新 更多