Asp.net mvc dyanmic checkboxlist

时间:2016-01-04 18:14:48

标签: asp.net-mvc

我有一个SQL查询返回一个列表,我希望将其显示为复选框列表。检查框列表是搜索表单的一部分,提交时在sql查询中使用,因此需要它来维护检查 - 盒子检查状态也。

目前我将列表放在一个视图包中并渲染它们,但它变得太乱了,无法维护。

1 个答案:

答案 0 :(得分:0)

使用强类型编辑器将保持复选框状态。

<强>模型

public class YourViewModel
{
     public List<SelectListItem> Options
        {
            get;
            set;
        }
}

查看

  @for (var i = 0; i < Model.Options.Count; i++)
                {

                    @Html.CheckBoxFor(m => m.Options[i].Selected)
                    @Html.HiddenFor(m => m.Options[i].Text)
                    @Html.HiddenFor(m => m.Options[i].Value)
                    <span>@Model.Options[i].Text</span>
                }

控制器发布

[HttpPost]
        public ActionResult Create(YourViewModel model)
        {
          foreach(var option in model.Options)
          {
            if(option .Selected) { // Do your logic}
          }
        }