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中文网其他相关文章!