Note that there are some explanatory texts on larger screens.

plurals
  1. POCustom error pages on asp.net MVC3
    text
    copied!<p>I'm developing a MVC3 base website and I am looking for a solution for handling errors and Render custom Views for each kind of error. So imagine that I have a "Error" Controller where his main action is "Index" (generic error page) and this controller will have a couple more actions for the errors that may appear to the user like "Handle500" or "HandleActionNotFound".</p> <p>So every error that may happen on the website may be handled by this "Error" Controller (examples: "Controller" or "Action" not found, 500, 404, dbException, etc).</p> <p>I am using Sitemap file to define website paths (and not route).</p> <p><strong>This question was already answered, this is a reply to Gweebz</strong></p> <p>My final applicaiton_error method is the following: </p> <pre><code>protected void Application_Error() { //while my project is running in debug mode if (HttpContext.Current.IsDebuggingEnabled &amp;&amp; WebConfigurationManager.AppSettings["EnableCustomErrorPage"].Equals("false")) { Log.Logger.Error("unhandled exception: ", Server.GetLastError()); } else { try { var exception = Server.GetLastError(); Log.Logger.Error("unhandled exception: ", exception); Response.Clear(); Server.ClearError(); var routeData = new RouteData(); routeData.Values["controller"] = "Errors"; routeData.Values["action"] = "General"; routeData.Values["exception"] = exception; IController errorsController = new ErrorsController(); var rc = new RequestContext(new HttpContextWrapper(Context), routeData); errorsController.Execute(rc); } catch (Exception e) { //if Error controller failed for same reason, we will display static HTML error page Log.Logger.Fatal("failed to display error page, fallback to HTML error: ", e); Response.TransmitFile("~/error.html"); } } } </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload