需要建议-什么更好? 我有几个页面需要在 @Html.DropDownListFor() 中选择是/否选项
我可以在每一页创建列表
List<SelectListItem> YesNoOptions = new List<SelectListItem>();
YesNoOptions.Clear();
YesNoOptions.Add(new SelectListItem("No", "false"));
YesNoOptions.Add(new SelectListItem("Yes", "true"));
或
我可以在 Help.cs 中创建它并使用它
public List<SelectListItem> YesNoOptions = Help.YesNoOptions;
我担心如果这是一种不好的做法,也许有更好的方法
@Html.GetEnumSelectList()
助手。这是下面的例子。
视图数据模型声明:
public enum UserSelectOptions
{
[Display(Name = "-Select a value-")]
Unassigned,
[Display(Name = "YES")]
Yes = 1,
[Display(Name = "NO")]
No = 2
}
public class EnumModel
{
public UserSelectOptions Selected { get; set; } = UserSelectOptions.Unassigned;
}
控制器端相关代码:
public IActionResult ShowEnumList()
{
return View(new UserSelectOptions());
}
[HttpPost]
public IActionResult ShowEnumList(UserSelectOptions selection)
{
// TODO: ...
return View("ShowEnumList", selection);
}
ShowEnumList.cshtml
观点:
@model EnumModel
<form method="post">
<select class="form-control" asp-for="Selected" asp-items="@Html.GetEnumSelectList<UserSelectOptions>()" />
<button type="submit" class="btn btn-primary">Save</button>
</form>