ASP.NET Core MVC 的 Select Tag Helper:輕鬆創建下拉列表
概述
Select Tag Helper 提供了一種簡便的方法,使用模型數據在 ASP.NET Core MVC 視圖中創建 <select>
元素(下拉列表)。
綁定到選項集合
假設視圖模型包含一個 EmployeeId
屬性和一個存儲在 EmployeesList
屬性中的員工列表:
<code class="language-csharp">public class MyViewModel { public int EmployeeId { get; set; } public List<Employee> EmployeesList { get; set; } }</code>
在視圖中,您可以使用 Select Tag Helper 將選項綁定到 EmployeesList
集合:
<code class="language-html"><select asp-for="EmployeeId" asp-items="@Model.EmployeesList.OrderBy(e => e.FullName)"></select></code>
asp-items
屬性指定下拉列表中顯示的選項列表。 OrderBy
方法用於按 FullName
屬性對列表進行排序。
設置選中值
asp-for
屬性指定將從下拉列表中選擇的存儲到視圖模型中的屬性。在本例中,它是 EmployeeId
:
<code class="language-html"><select asp-for="EmployeeId" asp-items="@Model.EmployeesList.OrderBy(e => e.FullName)"></select></code>
提交表單時,選定的值將自動綁定到視圖模型的 EmployeeId
屬性。
使用 SelectList
如果您的視圖模型具有 List
屬性,您可以直接將其用於 asp-items
屬性:
<code class="language-csharp">public class MyViewModel { public int EmployeeId { get; set; } public List<Employee> Employees { get; set; } }</code>
<code class="language-html"><select asp-for="EmployeeId" asp-items="@Model.Employees"></select></code>
更多選項
asp-for
屬性使用數組類型以啟用多選。 SelectListItem
的 Group
屬性以對下拉列表中的選項進行分組。 @ViewBag
動態地將選項列表傳遞到視圖:<code class="language-csharp">public IActionResult Create() { ViewBag.Employees = new List<SelectListItem> { ... }; return View(); }</code>
<code class="language-html"><select asp-for="EmployeeId" asp-items="@ViewBag.Employees"></select></code>
以上是如何在ASP.NET Core MVC中使用Select標記助手來創建下拉列表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!