在视图中发生错误时重定向到网页

时间:2013-09-06 09:43:47

标签: c# asp.net-mvc

如果此代码出现错误,我需要访问某个页面,任何人都可以帮助我吗?

我留下了黑色是否有某些代码会将我重定向到我的错误控制器索引

try
{
  var tree = ViewData["data"] as IEnumerable<PrototypeHelp.Models.Treeview>;
}
catch (Exception)
{

}

1 个答案:

答案 0 :(得分:1)

您可以在global.asax文件中处理异常。这将处理应用程序级别中的异常,包括页面或控制器。

示例代码:

protected void Application_Error(object sender, EventArgs e) {
  Exception exception = Server.GetLastError();
  Response.Clear();

  HttpException httpException = exception as HttpException;

  if (httpException != null) {
    string action;

    switch (httpException.GetHttpCode()) {
      case 404:
        // page not found
        action = "HttpError404";
        break;
      case 500:
        // server error
        action = "HttpError500";
        break;
      default:
        action = "General";
        break;
      }

      // clear error on server
      Server.ClearError();

      Response.Redirect(String.Format("~/Error/{0}/?message={1}", action, exception.Message));
    }