无法将类型'object'隐式转换为'System.Web.Mvc.ActionResult'。 MVC使用存储过程

时间:2015-07-02 11:38:49

标签: c# asp.net-mvc

我的ASP.NET MVC应用程序使用一个返回如下对象的存储过程:

public virtual ObjectResult<SP_DatabaseFirst_Result> SP_DatabaseFirst()
{
    return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<SP_DatabaseFirst_Result>("SP_DatabaseFirst");
}

我有一个文档存储库类,它正在过滤存储过程输出的结果:

public IEnumerable<SP_DatabaseFirst_Result> GetAllOfficeStaff() 
{
    return  DocumentDb.SP_DatabaseFirst().Select(s => s).OrderBy(s => s.sName);
}

最后,我尝试从我的控制器返回ViewData作为ActionResult

public ActionResult Index() {

        return ViewData["MyData"]= DocumentDd.GetAllOfficeStaff();
}

然而,我收到错误:

  

无法将类型'object'隐式转换为'System.Web.Mvc.ActionResult'。存在显式转换(您是否错过了演员?)

1 个答案:

答案 0 :(得分:1)

我用过

 return View(DocumentDd.GetAllOfficeStaff());

而不是

return ViewData["MyData"]= DocumentDd.GetAllOfficeStaff();

解决了这个问题,非常感谢#fredho