Razor DropDownList를 List
이 시나리오에는 List, 즉 DbUserRoles GetRoles() 메서드를 포함하는 모델과 검색된 목록을 모델로 전달하는 동안 뷰를 로드하는 컨트롤러가 있습니다.
드롭다운 목록을 채우기 위해 뷰 모델(UserRoleViewModel)을 도입하여 비즈니스 로직을 분리하고 뷰를 단순화할 수 있습니다. 이 뷰 모델에는 사용자 선택을 위한 SelectedUserRoleId와 드롭다운 항목을 위한 목록(UserRoles)이 포함되어 있습니다.
컨트롤러:
보기:
예:
뷰 모델:
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!