Html 如何在Razor下拉列表中显示两列值?
名称和ID存储在数据库中。我想显示从数据库到ViewPage下拉列表中的所有名称和ID。在这里,我只在下拉列表中显示名称列。是否可以在单个drropdown中显示两列??请告诉我解决办法。谢谢大家! 以下代码写入控制器:Html 如何在Razor下拉列表中显示两列值?,html,razor,model-view-controller,Html,Razor,Model View Controller,名称和ID存储在数据库中。我想显示从数据库到ViewPage下拉列表中的所有名称和ID。在这里,我只在下拉列表中显示名称列。是否可以在单个drropdown中显示两列??请告诉我解决办法。谢谢大家! 以下代码写入控制器: var Employe = (from table in dc.tbl_EmployeeDetails select table.Employee_Name).ToList(); ViewData["empN
var Employe = (from table in dc.tbl_EmployeeDetails
select table.Employee_Name).ToList();
ViewData["empName"] = Employe ;
var department = (from table in dc.tbl_EmployeeDetails
select table.Department).ToList();
ViewData["dept"] = department;
客户端代码(查看页面):-
您可以将员工姓名和部门名称连接到您的选择中
var Employe = (from table in dc.tbl_EmployeeDetails
select table.Employee_Name + " "+ table.Department).ToList();
ViewData["empName"] = Employe ;
var employeeList= dc.tbl_EmployeeDetails
.Select(x=>new SelectListItem { Value=x.Employee_Name,
Text=x.Employee_Name + " "+ x.Department}).ToList();
ViewData["employeeList"] = employeeList;
代码改进建议不多
我看到您正在通过项目循环并手动构建选项。为什么不使用html助手方法呢
您可以在选择中连接员工姓名和部门名称
var Employe = (from table in dc.tbl_EmployeeDetails
select table.Employee_Name + " "+ table.Department).ToList();
ViewData["empName"] = Employe ;
var employeeList= dc.tbl_EmployeeDetails
.Select(x=>new SelectListItem { Value=x.Employee_Name,
Text=x.Employee_Name + " "+ x.Department}).ToList();
ViewData["employeeList"] = employeeList;
现在在您的视图中,使用Html.DropDownList
helper方法
@Html.DropDownList("SelectedEmployee",ViewData["employeeList"] as List<SelectListItem>)
@Html.DropDownList(“SelectedEmployee”,ViewData[“employeeList”]作为列表)
这将生成一个名为“SelectedEmployee”的SELECT元素,查询db表,将数据转换为SelectListItem
列表,并使用DropDownListFor
helper方法呈现下拉列表。这里有一个以@Shyju开头的示例-再次检查我的问题。你的链接与我的问题无关。