好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

深入解析asp.net中mvc4自定义404页面(分享)

之前的 文章 《一文 讲解 JS中ES6代理 Proxy 用法(代码分享)》中,给大家 了解 了JS中ES6代理 PR oxy用法。下面本篇文章给大家了解asp.net中mvc4自定义404页面, 有一定的参考价值 , 有需要的朋友可以参考一下 ,希望对 你们 有所助。

定义404方法当然有很多种。不同的方法所展现的形式也不一样,用户所体验也不一样。以下提供 2 两种

方法一

1、在 web. config 中找到节 < Sys tem.web> 点中启用 404 配置

<customErrors default red irect="~/Error" mode="On" redirectMode="ResponseRedirect">
<error redirect="/Error"  stat usCode="404" />
</customErrors>

2、定义一个 controllersError (这个随你) ,在 action 中如下定义

p ub lic ActionResult Index()
{
    Response.Status = "404 Not Found";
    Response.StatusCode = 404;
    return View();
}

这种方式默认为给你的 url 加上 ?as PXE rrorpath=/ 比如: http://localhost/Error??aspxerrorpath=/123456 故不推荐试用

方法二:

打开 Global.a SAX 文件定义错误转向地址 (controller/action)

protected void Application_Error(object sender, Event arg s e)
{
    Exception ex = Server.GetLastError();
    if (ex is Htt PE xception  &&  ((HttpException)ex).GetHttpCode()  ==  404)
    {
        Response.Redirect("/Error");
    }
}

注意 事项 : 在开发时候,我们经常会在 Global.asax 中的 Application_Error 方法中使用 Response.Redirect 方法跳转到自定义错误页,但有时候(特别是当站点部署到 IIS 后) Application_Error 方法中使用 Response.Redirect 方法会失效,当发生异常错误后还是显示的默认错误黄页。

其根本 原因 是尽管我们在 Application_Error 方法中使用了 Response.Redirect 方法,但是当系统发生异常错误后 Asp.Net 认为异常并没有被处理,所以不会跳转到 Application_Error 方法中 Response.Redirect 指向的页面,最终还是会跳转到默认错误黄页。

解决这个问题的办法很 简单 就是在 Application_Error 方法中使用 Response.Redirect 做跳转前,先调用 Server.ClearError() 方法告诉系统发生的异常错误已经被处理了,这样再调用 Response.Redirect 方法系统就会跳转到自定义错误页面了。

推荐学习:asp.net视频教程

以上就是深入解析asp.net中mvc4自定义404页面(分享)的详细内容,更多请关注其它相关文章!

总结

以上是 为你收集整理的 深入解析asp.net中mvc4自定义404页面(分享) 全部内容,希望文章能够帮你解决 深入解析asp.net中mvc4自定义404页面(分享) 所遇到的问题。

如果觉得 网站内容还不错, 推荐好友。

查看更多关于深入解析asp.net中mvc4自定义404页面(分享)的详细内容...

  阅读:29次