ASP.NET MVC 出现错误 “The view 'XXX' or its master was not found or no view engine support”

来自:http://www.dengyukeji.com/archiver/tid-151.html

错误如下:The view ‘XXX‘ or its master was not found or no view engine supports the searched locations.

The following locations were searched:
~/Views/XXX/XXX.aspx
~/Views/XXX/XXX.ascx
~/Views/Shared/XXX.aspx
~/Views/Shared/XXX.ascx
~/Views/XXX/XXX.cshtml
~/Views/XXX/XXX.vbhtml
~/Views/Shared/hotgoodslist.cshtml
~/Views/Shared/hotgoodslist.vbhtml网上比较少这些资料;
但是你总找不到原因,其实原因很简单,就是因为你的这个路由地址找不到了。The following locations were searched:
~/Views/XXX/XXX.aspx
~/Views/XXX/XXX.ascx
~/Views/Shared/XXX.aspx
~/Views/Shared/XXX.ascx
~/Views/XXX/XXX.cshtml
~/Views/XXX/XXX.vbhtml
~/Views/Shared/hotgoodslist.cshtml
~/Views/Shared/hotgoodslist.vbhtml这些代码的意思就是说以下的这些项会被搜索,所有的请求都会按下面的地址进行查询搜索,直到找到匹配的为止,报这个错,就是因为你的路由中在你的View文件夹中找不到了。
解决方案:
首要检查的就是你的View跟你写的路由地址的Action名称是否一致。
我要在做项目的时候就是因为这个名称不一致导致的,比如我的路径是/XXXX/XXXXManager/XXXCreate
但是我实际的View中的文件名称是XXXCraete。说实话这个问题是很难查的。
不过教大家一个方法:~/Views/XXX/XXX.aspx
~/Views/XXX/XXX.ascx
~/Views/Shared/XXX.aspx
~/Views/Shared/XXX.ascx
~/Views/XXX/XXX.cshtml
~/Views/XXX/XXX.vbhtml
~/Views/Shared/hotgoodslist.cshtml
~/Views/Shared/hotgoodslist.vbhtml就是按照这个地址去你的View文件夹里面找一遍,看看是不是由于不致导致的,就可以了。
其实要检查的就是你的路由配置没写好。这个我还没碰到过,有碰到过的朋友请告诉我。

今天把项目发布IIS的时候,出现这个问题,解决方法 :/Views/XXX/下缺少XXX.cshtml文件,直接把电脑上的XXX.cshtml文件拷贝到IIS的下面就可以了。

ASP.NET MVC 出现错误 “The view 'XXX' or its master was not found or no view engine support”

时间: 2024-07-29 17:24:15

ASP.NET MVC 出现错误 “The view 'XXX' or its master was not found or no view engine support”的相关文章

ASP.NET MVC编程——错误处理与日记

ASP.NET MVC的错误处理应考虑到这几个方面:模型绑定期间发生的错误,未能路由到指定操作,针对控制器的错误处理.使用配置文件可以帮助我们处理异常,但是不够灵活和全面:使用HandleErrorAttribute.自定义错误过滤器或重写控制器OnException方法只能解决针对控制器的错误,无法解决模型绑定期间发生的错误,也无法处理404错误,即使将错误过滤器注册为全局过滤器也是如此.有时候需要多种方法配合使用. 在捕获错误的地方,可以将有用的信息记录下来,便于我们查出引起问题的原因和纠正

ASP.net MVC自定义错误处理页面的方法

在ASP.NET MVC中,我们可以使用HandleErrorAttribute特性来具体指定如何处理Action抛出的异常.只要某个Action设置了HandleErrorAttribute特性,那么默认的,当这个Action抛出了异常时MVC将会显示Error视图,该视图位于~/Views/Shared目录下. 设置HandleError属性 可以通过设置下面这些属性来更改HandleErrorAttribute特性的默认处理: ExceptionType.指定过滤器处理那种或哪些类型的异常

ASP.NET MVC中错误日志信息记录

MVC中有一个处理异常的过滤器 HandleErrorAttribute 1.新建一个类继承自 HandleErrorAttribute,然后重写OnException这个方法 public class MyExceptionAttribute:HandleErrorAttribute { /// <summary> /// 可捕获异常数据 /// </summary> /// <param name="filterContext"></par

【转】ASP.NET MVC中错误日志信息记录

MVC中有一个处理异常的过滤器 HandleErrorAttribute 1.新建一个类继承自 HandleErrorAttribute,然后重写OnException这个方法 public class MyExceptionAttribute:HandleErrorAttribute { /// <summary> /// 可捕获异常数据 /// </summary> /// <param name="filterContext"></par

ASP.NET MVC 自定义错误页面心得

自定义错误页面的目的,就是为了能让程序在出现错误/异常的时候,能够有较好的显示体验. 所以,首先要先了解,我们可以在哪里捕获异常. 当程序发生错误的时候,我们可以在两个地方捕获: Global里面的Application_Error . HandleErrorAttribute 中的OnException.(需要新建一个类,继承HandleErrorAttribute) 那我们到底应该在哪里处理错误好呢?下面我来给大家说说他们的区别. Application_Error 程序中发生的所有异常,都

asp.net mvc全局错误处理

方式一:全局捕获异常 根据错误编码直接跳转到对应静态页面 1,在Global.asax.cs文件中添加错误处理方法Application_Error 代码如下 protected void Application_Error(object sender, EventArgs e) { Exception exception = Server.GetLastError(); Log.Error(exception); //记录日志信息 var httpStatusCode = (exception

Asp.net MVC 自定义错误页面以及return HttpNotFound遇到的问题

今天在处理mvc 项目404和500页面时,发现我以前比较喜欢用的Return HttpNotFound()没有跳转到我在webconfig中配置的自定义404页面,而且也不会去执行Global中的Application_Error方法,经过一番查阅资料,发现这个问题得去想别的办法去做,具体的做法有三种,如下: 1.放弃Return HttpNotFound(),适用throw new HttpException(404, "page not found"); 2.让所有的Contro

asp.net MVC自定义错误页,并记录错误日志

只需要在Global.asax文件中添加以下代码,则可以在出错后友好的展示错误页,也不需要在很多地方写记录错误日志的代码 protected void Application_Error(object sender, EventArgs e) { if (HttpContext.Current.IsCustomErrorEnabled) { return; } var exception = Server.GetLastError(); var httpException = new HttpE

ASP.NET没有魔法——ASP.NET MVC Razor与View渲染

对于Web应用来说,它的界面是由浏览器根据HTML代码及其引用的相关资源进行渲染后展示给用户的结果,换句话说Web应用的界面呈现工作是由浏览器完成的,Web应用的原理是通过Http协议从服务器上获取到对应的Html代码以及相关资源,使得浏览器能够完成正确的呈现工作. ASP.NET MVC作为一个Web应用构建框架View承担了UI显示的功能,在开发过程中View以Action的名称命名,当用户的请求被路由到某一Action方法时,ASP.NET MVC将会根据Action的名称来获取到对应的V