Asp.net mvc 下拉式Mvc显示默认选定项

Asp.net mvc 下拉式Mvc显示默认选定项,asp.net-mvc,asp.net-mvc-4,Asp.net Mvc,Asp.net Mvc 4,我是MVC新手,请问您能否教我如何设置/显示下拉列表中的默认项 在控制器中 [HttpGet] public ActionResult Edit(int ID) { EmployeeDBEntities o = new EmployeeDBEntities(); Employee e = new Employee(); e = o.Employees.Single(x => x.EMP_ID == ID); ViewBag.Dept = o.uspDept

我是MVC新手,请问您能否教我如何设置/显示下拉列表中的默认项

在控制器中

[HttpGet]
public ActionResult Edit(int ID)
{
    EmployeeDBEntities o = new EmployeeDBEntities();
    Employee e = new Employee();
    e = o.Employees.Single(x => x.EMP_ID  == ID);
    ViewBag.Dept = o.uspDeptCbo().Select(x => new SelectListItem { Value = x.DEPT_ID.ToString() , Text=x.DEPARTMENT  }); 
    return View(e);
}
enter code here

[HttpGet]
public ActionResult Edit(int ID)
{
ViewBag.Dept = o.uspDeptCbo().Select(x => new SelectListItem { Text = x.DEPARTMENT, Value = x.DEPT_ID.ToString(), Selected = (x.DEPT_ID.ToString() == "3") }); 
}
看法


@Html.DropDownList(“Dept”,string.Empty)
@Html.ValidationMessageFor(model=>model.DEPT\u ID)
我明白了

在控制器中

[HttpGet]
public ActionResult Edit(int ID)
{
    EmployeeDBEntities o = new EmployeeDBEntities();
    Employee e = new Employee();
    e = o.Employees.Single(x => x.EMP_ID  == ID);
    ViewBag.Dept = o.uspDeptCbo().Select(x => new SelectListItem { Value = x.DEPT_ID.ToString() , Text=x.DEPARTMENT  }); 
    return View(e);
}
enter code here

[HttpGet]
public ActionResult Edit(int ID)
{
ViewBag.Dept = o.uspDeptCbo().Select(x => new SelectListItem { Text = x.DEPARTMENT, Value = x.DEPT_ID.ToString(), Selected = (x.DEPT_ID.ToString() == "3") }); 
}
在视图中

 <fieldset>
  @Html.DropDownList("Dept", string.Empty)
 </fieldset>

@Html.DropDownList(“Dept”,string.Empty)

谢谢。

使用
@Html.DropDownListFor(m=>m.DEPT\u ID,(IEnumerable)ViewBag.DEPT,string.Empty)
(然后摆脱你对
ViewBag
的糟糕使用,并通过使用视图模型正确地进行操作)你显然不了解MVC是如何工作的-这将无法正确地绑定到你的模型。