查看引擎无法找到我的视图

时间:2012-10-16 10:50:40

标签: c# asp.net asp.net-mvc asp.net-mvc-4 viewengine

尝试从后期操作返回ViewResult时出现以下错误:

  

未找到视图“索引”或其主控,或者没有视图引擎支持搜索的位置。搜索了以下位置:   〜/浏览/首页/ Index.cshtml   〜/查看/共享/ Index.cshtml   〜/浏览/首页/ Home.cshtml
  〜/查看/共享/ Home.cshtml   〜/浏览/首页/的Index.aspx
  〜/浏览/首页/ Index.ascx   〜/查看/共享/的Index.aspx
  〜/查看/共享/ Index.ascx   〜/浏览/首页/ Home.master
  〜/查看/共享/ Home.master   〜/浏览/首页/ Home.vbhtml
  〜/查看/共享/ Home.vbhtml

我的观点肯定得到认可,因为它适用于GET行动。

在POST操作中返回ViewResult的代码是:

return View("Index", "Home", Model);

Here is the view

有人能说明为什么这不起作用吗?

更多背景信息:     get动作显示视图正常。 post动作实际上是一个不同的url但返回相同的视图。这是造成问题的后置动作。 GET和POST操作都在同一个控制器HomeController上。

这是(剥离的)控制器:

public class HomeController : Controller
{
    [HttpGet]
    public ActionResult Index()
    {
        return View(new LoginModelBase());
    }

    [HttpPost]
    public ActionResult Login(UsernameLoginModel Model)
    {
        ...
        return View("Index", "Home", Model);
    }
}

1 个答案:

答案 0 :(得分:2)

我刚刚意识到它是什么!我正在使用View(...)方法的错误重载。

应该是:

View("Index", Model);