我List想向用户显示大约20个项目,每个项目旁边都有一个复选框(Available我的ViewModel上的属性).
提交表单时,我希望能够通过SelectionsViewModel 上的属性将每个复选框的值传递回我的控制器方法.
我将如何使用MVC中的Form Helper类进行此操作?这甚至可能吗?
PS:我不想要一个列表框,用户可以只突出显示多个项目.
Dar*_*rov 15
模型:
public class MyViewModel
{
public int Id { get; set; }
public bool Available { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
控制器:
public class HomeController: Controller
{
public ActionResult Index()
{
var model = Enumerable.Range(1, 20).Select(x => new MyViewModel
{
Id = x
});
return View(model);
}
[HttpPost]
public ActionResult Index(IEnumerable<MyViewModel> model)
{
...
}
}
Run Code Online (Sandbox Code Playgroud)
查看~/Views/Home/Index.cshtml:
@model IEnumerable<AppName.Models.MyViewModel>
@using (Html.BeginForm())
{
@Html.EditorForModel()
<input type="submit" value="OK" />
}
Run Code Online (Sandbox Code Playgroud)
编辑模板~/Views/Home/EditorTemplates/MyViewModel.cshtml:
@model AppName.Models.MyViewModel
@Html.HiddenFor(x => x.Id)
@Html.CheckBoxFor(x => x.Available)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14215 次 |
| 最近记录: |