asp.net mvc找不到我的观点

dsb*_*dsb 1 model-view-controller asp.net-mvc

我有一个非常简单的烦人问题,但我似乎无法找到问题.

我有一个简单的'测试'控制器.这是代码:

public class testController : Controller
{
    //
    // GET: /test/

    public ActionResult Index(int id)
    {
        ItemModel item = null;
        item = CommonLib.ReturnFullItem(id);

        return View("~/Views/Emails/ItemRecordedEmail", item);
    }

}
Run Code Online (Sandbox Code Playgroud)

我的文件夹/ Views/Emails /里面有ItemRecordedEmail.cshtml视图.但是我收到以下错误消息:

未找到视图'/ Views/Emails/ItemRecordedEmail'或其主人,或者没有视图引擎支持搜索的位置.搜索了以下位置:/ Views/Emails/ItemRecordedEmail

当我将ItemRecordedEmail.cshtml移动到某个共享文件夹并相应地更改代码时,一切似乎都正常.任何想法我做错了什么?

编辑:我改变了路径' /Views/Emails.这是最原始的路径,在我做出所有尝试之后,我意外地将它排除在外.相同的错误消息仍然存在相同的问题,只有这次它在'〜/ Views/Emails'文件夹中查找它.

emr*_*azi 9

使用波浪语法提供视图的完整路径时,必须提供视图的文件扩展名,因为这会绕过视图引擎的内部查找机制以查找视图.所以它应该是

return View("~/Views/Emails/ItemRecordedEmail.cshtml", item);
Run Code Online (Sandbox Code Playgroud)

参考:专业ASP.NET MVC 4