[ASP.NET Core]ASP.NET Core MVC应用程序编程开发中如何绑定下拉框标签辅助类(Select Tag Helper)?
2.26K 次浏览
在ASP.NET Core MVC应用程序编程开发中,需要使用下拉框来绑定数据源,这里使用了ASP.NET Core MVC的下拉框标签辅助类-Select Tag Helper,比如当前有一个关于员工的集合List<Employee> EmployeesList
,下拉框选中值将绑定到EmployeeId
属性上,假如员工实例模型MyViewModel
如下:
public class MyViewModel
{
public int EmployeeId { get; set; }
public string Comments { get; set; }
public List<Employee> EmployeesList {get; set; }
}
员工Employee
的实例模型如下:
public class Employee
{
public int Id { get; set; }
public string FullName { get; set; }
}
那么,现在如何将下拉框的值绑定为Id
,显示文本绑定为FullName
呢?
<select asp-for="EmployeeId" asp-items="???" />
7 个回答
-
在ASP.NET Core MVC中,我们可以使用Select Tag Helper来渲染下拉框。
首先,需要在
GET
请求中创建一个视图模型,然后加载下拉框的数据源到这个视图模型中并返回来视图,如下:然后,在视图文件中,使用后端传递过来的
EmployeesList
集合创建一个新的SelectList
对象,并将数据绑定到asp-items
属性上,如下:最后,你便可以在POST请求中获取到前面页面表单传回的下拉框的选中值,如下:
或者
如果你的视图模型中包含了
List<SelectListItem>
的下拉框属性,比如:GET请求中对这个下拉框数据源属性赋值,如下:
最后,我们可以在视图文件中直接使用
Employess
作为asp-items
的属性值,如下:注:
SelectListItem
位于命名空间Microsoft.AspNet.Mvc.Rendering
中。