我在我的应用程序中使用ASP.NET MVC5。 我想在我的视图中使用复选框显示员工已知的语言(具有相同名称的复选框)。为此,如何编写我的模型,从控制器传递它们并在视图中显示它们?
我将这些值存储在枚举
中old
如果我必须将它们存储在DB中的表中,这是可以的。
答案 0 :(得分:1)
您可以使用CheckBoxListFor
帮助程序:
@Html.CheckBoxListFor(model => model.SelectedOptions, Model.AllOptions)
你的模型看起来像这样:
public class MyModel {
// This property contains the available options
public SelectList AllOptions { get; set; }
// This property contains the selected options
public IEnumerable<string> SelectedOptions { get; set; }
public MyModel() {
AllOptions = new SelectList(
new[] { "Option1", "Option2", "Option3" });
SelectedOptions = new[] { "Option1" };
}
}
在控制器中,您只需将模型传递给视图:
[HttpGet]
[ActionName("Index")]
public ActionResult Index()
{
var model = new MyModel();
return View(model);
}
您可以根据需要更改AllOptions和SelectedOptions属性(只需从MyModel的构造函数中删除代码并将其放在控制器类中)。
有关详细信息,请查看此处,有关于如何使用枚举的说明:CheckBoxList for Enum types MVC Razor。