【发布时间】:2020-02-11 15:46:13
【问题描述】:
大家好,如果我的值和文本都与模型属性的值相同,我只是尝试从控制器加载下拉列表中的值。但是我试图通过此设置将值作为 id 并将文本作为名称,下拉列表未加载 id。
如果文本和值都相同,我可以这样做并且它有效
vm.CustomerName = model.CustomerName;
查看 DDL
@Html.DropDownListFor(e => e.ServiceVM.Employee, Model.Employees, "Select Employee", new { @class = "form-control" })
我尝试了一些。
vm.Employee = new SelectListItem { Value = model.EmployeeID.ToString(), Selected=true };
//vm.EmployeeName = model.EmployeeID.ToString();
//var employee = new Employee_Main();
//try
//{
// employee = context.Employee_Main.Where(z => z.EmployeeID == model.EmployeeID).FirstOrDefault();
//}
//catch(System.Exception) { }
//vm.EmpID = employee.EmployeeID.ToString();
//vm.EmployeeName = employee.EmployeeID.ToString();
我真的认为这行得通。我设置了正确的“值”和“文本”,它们显示在 ddl 项目列表中。并且还说 selected=true。
//vm.EID = model.EmployeeID;
if (model.EmployeeID != null)
{
if(Int32.TryParse(model.EmployeeID.ToString(), out int empID))
{
var employee = context.Employee_Main.Where(e => e.EmployeeID == empID).FirstOrDefault();
if(employee != null)
{
vm.Employee = new SelectListItem() { Value = employee.EmployeeID.ToString(), Text = employee.EFullName, Selected=true };
}
}
@Html.DropDownListFor(e => e.ServiceVM.Employee, Model.Employees, "Select Employee", new { @class = "form-control" })
【问题讨论】:
标签: c# model-view-controller dropdown