从列表填充 Razor 下拉列表在 MVC 中
用 List
创建视图模型
创建具有必要属性的视图模型驱动下拉列表,例如所选值的属性和要显示的项目列表。在本例中,我们将其称为 UserRoleViewModel。
准备 DropDownList 数据
在您的控制器中,构造一个方法来检索下拉列表的数据。在此方法中,您可以将 List
在视图中使用 Viewmodel
在您看来,利用@model指令来访问UserRoleViewModel。然后,使用 Razor 助手 LabelFor 和 DropDownListFor 呈现下拉列表及其标签。 DropDownListFor 帮助器将自动使用视图模型中定义的 UserRoles 集合填充下拉列表。
示例实现
这里是视图模型、控制器和视图:
ViewModel:
public class UserRoleViewModel { public int SelectedUserRoleId { get; set; } public IEnumerable<SelectListItem> UserRoles { get; set; } }
控制器:
public IEnumerable<SelectListItem> GetRoles() { var dbUserRoles = new DbUserRoles(); var roles = dbUserRoles .GetRoles() .Select(x => new SelectListItem { Value = x.UserRoleId.ToString(), Text = x.UserRole }); return new SelectList(roles, "Value", "Text"); } public ActionResult AddNewUser() { var model = new UserRoleViewModel { UserRoles = GetRoles() }; return View(model); }
视图:
@model UserRoleViewModel @Html.LabelFor(m => m.SelectedUserRoleId) @Html.DropDownListFor(m => m.SelectedUserRoleId, Model.UserRoles)
通过遵循这种方法,您可以使用 List
以上是如何从 MVC 中的列表填充 Razor DropdownList?的详细内容。更多信息请关注PHP中文网其他相关文章!