使用 List
在这种情况下,我们有一个包含 List
为了填充下拉列表,可以引入视图模型(UserRoleViewModel)来分离业务逻辑并简化视图。该视图模型包括用于用户选择的 SelectedUserRoleId 和用于下拉项的列表 (UserRoles)。
Controller:
View:
示例:
Viewmodel:
public class UserRoleViewModel { [Display(Name = "User Role")] public int SelectedUserRoleId { get; set; } public IEnumerable<SelectListItem> UserRoles { get; set; } }
控制器:
private 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)
这个方法会生成一个下拉列表,其中填充了 DbUserRoles 列表中的值。
以上是如何在 MVC 中使用列表填充 Razor DropDownList?的详细内容。更多信息请关注PHP中文网其他相关文章!