Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why ASP.NET MVC bothers to have a Default.aspx file?

When create a new ASP.NET MVC project in Visual Studio 2008, there is a Default.aspx page by default. It has one line

In its Page_Load function, it just redirects to "/" to go through the routing procedure.

    public void Page_Load(object sender, System.EventArgs e)
    {
        HttpContext.Current.RewritePath(Request.ApplicationPath);
        IHttpHandler httpHandler = new MvcHttpHandler();
        httpHandler.ProcessRequest(HttpContext.Current);
    }

I tried to remove Default.aspx and it turns out that the default URI "http://localhost:2574/" is still accessible. So, why bother to have such Default.aspx?

like image 820
Morgan Cheng Avatar asked Dec 02 '08 10:12

Morgan Cheng


2 Answers

Older versions of IIS need a startup document and it also gives you something to right-click on to get the "View in Browser" option.

like image 172
Todd Smith Avatar answered Sep 22 '22 23:09

Todd Smith


What's happening here, is that the Url requested (which was Default.aspx) is being re-written to the application root "/" and then transferred off of the Webform HTTP handler and onto the MvcHttpHandler. A request for "/" will match the Default route entry (show further down)... eventually sending us onto one of the route controllers.

useful link here

like image 44
mapache Avatar answered Sep 19 '22 23:09

mapache