MVC 自定义 错误页面

很多时候,我们需要自定义错误页面,用来当发生异常后引导用户进入一个比较友好的错误页面。

在这里,我归结一下我常用的2个方案


1   通过Global.asax 文件来处理异常信息(这个不管是 MVC 还是 WEBFORM 都是可以使用的)

在解决方案下,增加Global.asax 文件 ,

void Application_Error(object sender, EventArgs e)
        {

//捕获异常
            Exception ex = Server.GetLastError().GetBaseException();

//书写日志
            LogHelper.WriteLog("\r\n" + "StackTrace:\r\n" + ex.StackTrace + "\r\n\r\n" + "Message:\r\n" + ex.Message + "\r\n\r\n\r\n\r\n");
            Server.ClearError();
//自定义错误页面
            Response.Redirect("~/Home/ErrorPage");
        }


2  通过webconfig配置来完成。

<system.web>
    <customErrors mode="On"  defaultRedirect="~/Home/Index">
      <error statusCode="404" redirect="~/Home/ErrorPage"/>
    </customErrors>

</system.web>

增加web.config配置,

mode="On"    开启自定义错误

defaultRedirect="~/Home"     一般错误跳向的错误页面

statusCode="404"      错误码

redirect="~/Home/ErrorPage"   根据错误码,跳转指定的页面。


如上如果我在本地输入local/home/123321  这种一定不存在的页面时,就会自动跳转到/Home/ErrorPage页面了。

posted @ 2015-10-10 11:53  正怒月神  阅读(133)  评论(0编辑  收藏  举报