我有一个SQL查询返回一个列表,我希望将其显示为复选框列表。检查框列表是搜索表单的一部分,提交时在sql查询中使用,因此需要它来维护检查 - 盒子检查状态也。
目前我将列表放在一个视图包中并渲染它们,但它变得太乱了,无法维护。
答案 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}
}
}