名称和ID存储在数据库中。我想显示从数据库到ViewPage下拉列表的所有名称和ID。这里我只在下拉列表中显示了Name列。是否有可能在单个drropdown中显示两列?请让我知道解决方案。谢谢!
下面的代码写入控制器:
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;
客户端代码(ViewPage): -
<select id="reportto" disabled="disabled" font-size:14px">
@foreach(var person in ViewData["empName"] as List<string>)
{
if(@Model.employee!=@person)
{
<option>@person</option>
}
}
</select>
这里我只在下拉列表中显示了名称。如何在单个下拉列表中显示名称和部门?
答案 0 :(得分:1)
您可以在SELECT中连接员工姓名和部门名称。
var Employe = (from table in dc.tbl_EmployeeDetails
select table.Employee_Name + " "+ table.Department).ToList();
ViewData["empName"] = Employe ;
很少有关于改进代码的建议
我看到你正在循环浏览项目并手动构建选项。为什么不使用html帮助器方法?
您可以在SELECT中连接员工姓名和部门名称。
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
辅助方法
@Html.DropDownList("SelectedEmployee",ViewData["employeeList"] as List<SelectListItem>)
这将生成一个名为“SelectedEmployee”
的SELECT元素