如何使用自定义html错误页面进行404请求。目前我的错误请求显示错误页面有404请求。
//我想显示具有相同请求的自定义页面
答案 0 :(得分:0)
将此代码添加为在global.asax中注册的最后一条路径:
routes.MapRoute(
"404-PageNotFound",
"{*url}",
new { controller = "StaticContent", action = "PageNotFound" }
);
请参阅:http://richarddingwall.name/2008/08/17/strategies-for-resource-based-404-errors-in-aspnet-mvc/
OR
以下是文章如何使用MVC创建自定义错误页面
http://kitsula.com/Article/MVC-Custom-Error-Pages
希望这可以帮到你!
答案 1 :(得分:0)
在web.xml文件中配置错误代码 例如:
<error-page>
<error-code>500</error-code>
<location>/WEB-INF/jsp/500.jsp</location>
</error-page>
<error-page>
<error-code>503</error-code>
<location>/WEB-INF/jsp/503.jsp</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/WEB-INF/jsp/404.jsp</location>
</error-page>
答案 2 :(得分:0)
您可以使用Web.config中的customErrors为每种http错误设置自定义错误页面,它适用于所有ASP.NET请求:
<configuration>
<system.web>
<customErrors mode="On" redirectMode="ResponseRewrite" defaultRedirect="Errors/500.aspx">
<error statusCode="500" redirect="Errors/500.aspx"/>
<error statusCode="404" redirect="Errors/404.aspx"/>
<error statusCode="403" redirect="Errors/403.aspx"/>
</customErrors>
</system.web>
</configuration>
请参阅MSDN LINK:http://msdn.microsoft.com/en-us/library/h0hfz6fc(v=vs.85).aspx
或者您可以在MVC运行时使用Add ErrorFilterAttribute到全局过滤器:
GlobalFilters.Filters.Add(new System.Web.Mvc.HandleErrorAttribute());
然后将“Error.cshtml”视图文件添加到“/ Views / Shared /”文件夹,这是示例
@model object
@{
var context = this.ApplicationInstance.Context;
var ex = (Model is HandleErrorInfo ? ((HandleErrorInfo)Model).Exception : (Model as Exception)) ?? context.Server.GetLastError();
}
@(ex.Message)