2017-02-22 7 views
0

私のwebformsアプリケーションでいくつかのエラーページをカスタマイズする必要があります。だから私はwebformsアプリケーション内でエラーページをカスタマイズする

のWeb.config Global.asax.cs

protected void Application_Error(object sender, EventArgs e) 
     { 
      // An error has occured on a .Net page. 
      var serverError = Server.GetLastError() as HttpException; 

      if (null != serverError) 
      { 
       int errorCode = serverError.GetHttpCode(); 

       if (404 == errorCode) 
       { 
        Server.ClearError(); 
        Server.Transfer("404ErrorPage.aspx"); 
       } 
      } 
     } 

を新しいWebフォーム404ErrorPage.aspx

public partial class _404ErrorPage : System.Web.UI.Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 
      // If you're running under IIS 7 in Integrated mode set use this line to override 
      // IIS errors: 
      Response.TrySkipIisCustomErrors = true; 

      // Set status code and message; you could also use the HttpStatusCode enum: 
      // System.Net.HttpStatusCode.NotFound 
      Response.StatusCode = 404; 
      Response.StatusDescription = "Page not found"; 
     } 
    } 

404ErrorPage.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="404ErrorPage.aspx.cs" Inherits="WebApp._404ErrorPage" %> 


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 


<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title>Page not found</title> 
    <style type="text/css"> 
     body { 
      background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAABZ0RVh0Q3JlYXRpb24gVGltZQAxMC8yOS8xMiKqq3kAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzVxteM2AAABHklEQVRIib2Vyw6EIAxFW5idr///Qx9sfG3pLEyJ3tAwi5EmBqRo7vHawiEEERHS6x7MTMxMVv6+z3tPMUYSkfTM/R0fEaG2bbMv+Gc4nZzn+dN4HAcREa3r+hi3bcuu68jLskhVIlW073tWaYlQ9+F9IpqmSfq+fwskhdO/AwmUTJXrOuaRQNeRkOd5lq7rXmS5InmERKoER/QMvUAPlZDHcZRhGN4CSeGY+aHMqgcks5RrHv/eeh455x5KrMq2yHQdibDO6ncG/KZWL7M8xDyS1/MIO0NJqdULLS81X6/X6aR0nqBSJcPeZnlZrzN477NKURn2Nus8sjzmEII0TfMiyxUuxphVWjpJkbx0btUnshRihVv70Bv8ItXq6Asoi/ZiCbU6YgAAAABJRU5ErkJggg==); 
     } 

     .error-template { 
      padding: 40px 15px; 
      text-align: center; 
     } 

     .error-actions { 
      margin-top: 15px; 
      margin-bottom: 15px; 
     } 

      .error-actions .btn { 
       margin-right: 10px; 
      } 
    </style> 
</head> 
<body> 
    <form id="HtmlForm" runat="server"> 
     <div class="container"> 
      <div class="row"> 
       <div class="col-md-12"> 
        <div class="error-template"> 
         <h1>Oops!</h1> 
         <h2>404 Not Found</h2> 
         <div class="error-details"> 
          Sorry, an error has occured, Requested page not found! 

         </div> 
         <div class="error-actions"> 
          <a href="http://www.jquery2dotnet.com" class="btn btn-primary btn-lg"><span class="glyphicon glyphicon-home"></span> 
           Take Me Home </a><a href="http://www.jquery2dotnet.com" class="btn btn-default btn-lg"><span class="glyphicon glyphicon-envelope"></span>Contact Support </a> 
         </div> 
        </div> 
       </div> 
      </div> 
     </div> 

    </form> 
</body> 
</html> 

を作成しました

<system.web> <customErrors mode="On" defaultRedirect="404ErrorPage.aspx"> <error statusCode="403" redirect="404ErrorPage.aspx" /> <error statusCode="404" redirect="404ErrorPage.aspx" /> </customErrors> 

これは機能しませんでしたが、アプリケーションはデフォルトでエラーページをまだ使用しています。

だから私は、その理由は何

  1. を知っておく必要がありますか?
  2. どうすれば修正できますか?

おかげで、@Tiesonへ

+1

デフォルトページのエラーコードとは何ですか? – Dalorzo

+0

@Dalorzoビューのコードを追加しました –

答えて

関連する問題