从从值和文本不同的控制器中加载<

问题描述 投票:0回答:1

大家好,我只是简单地尝试从控制器加载下拉列表中的值,如果我的值和文本都与使用model属性的值相同。但是我试图通过此设置将值作为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
1个回答
0
投票

我知道了。我忘记更改自己的JavaScript以与更改的模型字段匹配。

    var employ = modalA.find(body).find("#ServiceVM_Employee");
    //empid.val(jsonObject.employeeid);
    //empfn.val(jsonObject.employeefname);
    //empln.val(jsonObject.employeelname);
    //empem.val(jsonObject.employeeemail);
    //emppo.val(jsonObject.employeeposition);
    //empname.val(jsonObject.employeefullname);
    employ.val(jsonObject.employeeid);
© www.soinside.com 2019 - 2024. All rights reserved.