Razor DropDownList にリストを設定<オブジェクト> MVC 内
このシナリオでは、List
ドロップダウンリストにデータを入力するには、ビューモデル (UserRoleViewModel) を導入してビジネス ロジックを分離し、ビューを簡素化します。このビューモデルには、ユーザー選択用の SelectedUserRoleId とドロップダウン項目用のリスト (UserRoles) が含まれています。
Controller:
View:
例:
ビューモデル:
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 ドロップダウンリストにリストを追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。