Asp.net mvc ASP.NET MVC dropdownlist viewbag存储过程

Asp.net mvc ASP.NET MVC dropdownlist viewbag存储过程,asp.net-mvc,stored-procedures,dynamic,viewbag,dropdownlistfor,Asp.net Mvc,Stored Procedures,Dynamic,Viewbag,Dropdownlistfor,我无法使用viewbag获取id form dynamic dropdownlist的值,我正在使用存储过程插入数据。id的值来自动态下拉列表 在我看来,我正在使用 @Html.DropDownList("DepartmentID", new SelectList(ViewBag.data, "depId", "depId"), "Department-ID") 而在我的控制器中 public ActionResult Create() { var Dictionary = db.de

我无法使用viewbag获取id form dynamic dropdownlist的值,我正在使用存储过程插入数据。id的值来自动态下拉列表

在我看来,我正在使用

@Html.DropDownList("DepartmentID", new SelectList(ViewBag.data, "depId", "depId"), "Department-ID")
而在我的控制器中

public ActionResult Create()
{
    var Dictionary = db.departments.ToList();

    if (Dictionary != null) 
    {
         ViewBag.data = Dictionary;
    }

    return View();
}

[HttpPost, ActionName("Create")]
public ActionResult CreateThroughStoreProcedure(employee emp) 
{
    if (ModelState.IsValid)
    {
        db.ShowdDetails(emp.name, emp.city, emp.gender, emp.depId);
        db.SaveChanges();
        return RedirectToAction("Index");
    }

    return View("Error");
}

您已将UI字段命名为部门ID:

@Html.DropDownList("DepartmentID", new SelectList(ViewBag.data, "depId", "depId"), "Department-ID")
但是模型上的属性是
depId
。字段名需要与要将其绑定到的模型的属性名匹配:

@Html.DropDownList("depId", new SelectList(ViewBag.data, "depId", "depId"), "Department-ID")

您已经在视图中调用了字段
DepartmentID
,但在
员工
模型中,您似乎在寻找一个名为
depId
的值。DepartmentID是dropdownlist名称,emp.DepartmentID显示错误;错误是什么?它没有显示在IntelliSenseemp中。depId只显示在IntelliSense中为什么您希望在
employee
上有一个名为
DepartmentID
的属性?您在哪里定义
employee
类?请提供所有相关信息,这不应该是我们的猜测游戏。