從清單填入Razor 下拉清單在MVC 中
用List
建立視圖模型
建立具有必要屬性的視圖模型驅動下拉列表,例如所選值的屬性和要顯示的項目列表。在本例中,我們稱之為 UserRoleViewModel。
準備 DropDownList 資料
在您的控制器中,建構一個方法來擷取下拉清單的資料。在此方法中,您可以將 List
在視圖中使用 Viewmodel
在您看來,利用@model指令來存取UserRoleViewModel。然後,使用 Razor 助手 LabelFor 和 DropDownListFor 呈現下拉清單及其標籤。 DropDownListFor 幫助器將自動使用視圖模型中定義的 UserRoles 集合填入下拉清單。
範例實作
這裡是視圖模型、控制器與檢視:
Vi ewModel:
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中文網其他相關文章!