答案 0 :(得分:0)
假设您的模型有一个字段来保存所有复选框文本,例如。
public class MyClass
{
public string SelectedOptions {get;set;}
public List<String> CheckList {get;set;}
}
编写控制器操作方法,如
public ActionResult ShowCheckBoxList()
{
MyClass Options= new MyClass();
Options.CheckList = new List<String>();
// Here populate the CheckList with what ever value you have to
// either if you are getting it from database or hardcoding
return View(Options);
}
您必须通过右键单击上述方法创建视图,然后选择“添加视图”。通过从dropDown中选择MyClass模型,确保您保持名称与方法名称相同,并且您可以选择MyDlass模型,脚手架模板是可选的,根据您的方案使用它。
现在,在您的视图中,您可以将此填充的复选框文本用作
@foreach(var optionText in Model.CheckList)
{
@Html.CheckBox(@Model.SelectedOptions, false, new {Name = "SelectedOptions", Value = @optionText})
@Html.Label(@optionText , new { style = "display:inline;" })
}
将其保留在表单中,并确保您还指定要在表单的帖子上调用的Action。
使你的动作名称与上一个动作相同(在帖子之前是[GET]意思),现在我们为[POST]创建相同的方法
[HTTPPOST]
public ActionResult ShowCheckBoxList(MyClass data) // here you will get all the values from UI in data variable
{
//data.SelectedOptions will have all the selected values from checkbox
}