>我可以看到这个问题已经被问了几次,但看不到它与存储的过程调用相关的一个,如下所示,我可以工作。
public ActionResult _NewEmpFifth()
{
IEnumerable<SelectListItem> departments = new List<SelectListItem>();
using (EIPInternalEntities ctx = new EIPInternalEntities())
{
departments = new SelectList(ctx.Database.SqlQuery<string>("EXEC dbo.uspGetDepartments").ToList(), "DepartmentID", "Department");
ViewBag.Department = new SelectList(departments, dataValueField: "DepartmentID", dataTextField: "Department");
}
var sessionValues = Session["MySessionValues"] as MySessionValues;
return PartialView();
}
我知道问题是存储过程返回DepartmentId
和Department
这就是我想要的。 在此方法下,我可以将它们绑定到文本值属性吗?
我对框架工作和MVC仍然很陌生。
想
通了。 问题出在 上,需要替换为与存储过程返回的模型匹配的模型。
新型号
public class GetDepartment
{
public int DepartmentID { get; set; }
public string Department { get; set; }
}
更改的控制器操作
public ActionResult _NewEmpFifth()
{
IEnumerable<SelectListItem> departments = new List<SelectListItem>();
using (EIPInternalEntities ctx = new EIPInternalEntities())
{
ViewBag.Department = new SelectList(ctx.Database.SqlQuery<GetDepartment>("EXEC dbo.uspGetDepartments").ToList(), "DepartmentID", "Department");
}
var sessionValues = Session["MySessionValues"] as MySessionValues;
return PartialView();
}