2011-08-27 147 views
0

我正在创建一个自定义的html帮助器,它允许我一次对多个复选框进行分组。除了复选框,我还使用了span元素,因为我需要以不能用native元素完成的方式来设置复选框的样式。以下是我的自定义HTML辅助的输出样本:ASP.NET MVC - 将多个复选框值传递给控制器​​

<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 /> 

跨度元件(或任选的标签)上的用户点击和它模仿通过一些jQuery的魔术的复选框。这部分工作很好。我遇到麻烦的部分是将此数据正确传回控制器。目前我正在做以下检索结果:

public ActionResult Index(string[] peopleInvolved){} 

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

谢谢。

回答

1

听起来像你想要做的是从多个具有相同名称的html元素发回字符串值列表。我会做的是用一个隐藏的元素替换复选框,并带有一个像data-value="John Doe"这样的属性,并在点击您选择的html元素时填充或取消填充隐藏的元素值。

示例可用Here.

相关问题