2017-10-30 3 views
0

Zwei Lösungen, die ich denken kann, sind:In MVC möchte ich für 404 URL anzeigen, nicht umleiten! Wie es geht?

  1. Irgendwie eine Steuerung widmen alle 404 Anfragen zu holen (jetzt nicht, wie es zu tun)

  2. In Global.asax Application_Error irgendwie Ansicht machen durch einen Controller und schreibe das Ergebnis in Response (weiß nicht, wie es geht).

Erste Option ist mehr für mich bevorzugt.

Antwort

0

Die Antwort gefunden (2. Lösung)!

<customErrors mode="Off">

void Application_Error(object sender, EventArgs e) 
    { 
     Exception ex = Server.GetLastError(); 

     if (ex is HttpException) 
     { 
      var defaultController = new Controllers.ErrorController(); 
      defaultController.ControllerContext = new ControllerContext(this.Request.RequestContext, 
       defaultController 
      ); 
      var res = defaultController.NotFound(); 
      res.ExecuteResult(defaultController.ControllerContext); 
      Server.ClearError(); 
      Response.TrySkipIisCustomErrors = true; 
     } 
    } 
: :)

Hierzu sollten Sie benutzerdefinierte Fehler in web.config deaktivieren

Verwandte Themen