ASP.NET核心MVC選擇標籤助手:綁定員工列表
>本指南演示瞭如何有效地將員工列表綁定到ASP.NET Core MVC中的選擇標籤助手,並確保所選值正確地將其映射到EmployeeId
>假設您的視圖模型的結構如下:
>
<code class="language-csharp">public class MyViewModel { public int EmployeeId { get; set; } public string Comments { get; set; } public List<Employee> EmployeesList { get; set; } } public class Employee { public int Id { get; set; } public string FullName { get; set; } }</code>
> 關鍵是從您的
中創建對象,並在視圖中使用它。 以下是您可以在控制器操作中執行此操作的方法:SelectList
EmployeesList
<code class="language-csharp">public IActionResult Create() { var vm = new MyViewModel(); vm.EmployeesList = new List<Employee> { new Employee { Id = 1, FullName = "Shyju" }, new Employee { Id = 2, FullName = "Bryan" } }; return View(vm); }</code>
這簡潔地將
<code class="language-html"><select asp-for="EmployeeId" asp-items="@new SelectList(Model.EmployeesList, \"Id\", \"FullName\")"></select></code>
屬性,將SelectList
顯示為選項文本,並使用EmployeeId
作為值。 FullName
Id
預選員工:
預選員工,在將視圖模型中設置屬性之前,然後將其傳遞給視圖:
EmployeeId
替代:使用ViewBag(不推薦):
<code class="language-csharp">public IActionResult Create() { var vm = new MyViewModel(); vm.EmployeesList = new List<Employee> { /* ... your employees ... */ }; vm.EmployeeId = 2; // Pre-selects Bryan return View(vm); }</code>
通常是不太喜歡的。 這是一個示例:
高級方案:ViewBag
<code class="language-csharp">// Controller ViewBag.Employees = new List<SelectListItem> { new SelectListItem { Text = "Shyju", Value = "1" }, new SelectListItem { Text = "Bryan", Value = "2" } }; // View <select asp-for="EmployeeId" asp-items="@ViewBag.Employees"></select></code>
多重選擇:使用視圖模型中的數組或列表類型允許多個選擇。
EmployeeId
屬性在下拉列表中的組選項中。 SelectListItem
。以上是如何將員工列表綁定到ASP.NET Core MVC中的選擇標籤助手?的詳細內容。更多資訊請關注PHP中文網其他相關文章!