如何使用MVC3 Razor检测复选框是否被选中

本文关键字:是否 复选框 检测 何使用 MVC3 Razor | 更新日期: 2023-09-27 18:17:20

由于我是MVC框架的新手,我花了几个小时在视图文件中生成一个复选框列表。终于,我可以算出来了。下面是我的代码:

 @foreach (var item in Model.GetRoleNames)
        {
            @Html.CheckBox("chk_" + item.Value, new { value = item.Value })@item.Text<br />
        }

但是,我需要检测其中哪些被选中,如果所有的复选框都未选中,则会阻止一些操作。

问题:当我在控制器动作中时,我如何获得选中的项目?

如何使用MVC3 Razor检测复选框是否被选中

正如其他人所说,您应该使用布尔值作为CheckBox的第二个参数,以指示被检查的状态。一些字符串操作应该可以帮助您获得所选复选框的id。

首先让我们改变复选框帮助器的使用方式

<div id='myCheckboxDiv'>
 @foreach (var item in Model.GetRoleNames)
 {
   @Html.CheckBox("chk_" + item.Value, false)@item.Text<br />
 }
</div>

如您所见,我将第二个参数设置为false,并将mix包装在div

中。

并且,当您想要获得与所选复选框相关联的"值"时

var values = $(‘# myCheckboxDiv’).find('input:checkbox:checked').map(function () {
  // get the name ..
  var nameOfSelectedItem = this.attr('name');
  // skip the ‘chk_’ part and give me the rest
  return nameOfSelectedItem.substr(4);
}).get();

我假设item。值为数字。如果不是,请使用c#

删除空白。