b0x0rz
b0x0rz

Reputation: 3981

asp.net application default file Index.aspx

how can i make it that when i go to (for example) http://localhost:60288/ it does not show me a directory listing but rather opens the Index.aspx page? This works with http://localhost:60288/Index.aspx but i don't wish to have Index.aspx shown every time.

i also need links like http://localhost:60288/?a=1 to work like http://localhost:60288/Index.aspx?a=1 without the Index.aspx shown.

this used to work when i created a website project in visual studio, but now i'm using application project. how can I set this up?

i want / need this to work for all sub folders as well e.g. http://localhost:60288/SubFolder/ should work as if it was linked to http://localhost:60288/SubFolder/Index.aspx

thnx

edit still did not manage it

Upvotes: 11

Views: 11081

Answers (5)

class
class

Reputation: 8681

The easiest way for me to do this was to use a mapping. Inside your Web.config, insert the following:

<configuration>                                                                  
    <system.web>                                                                 
        <compilation debug="true" targetFramework="4.0" />                       
        <urlMappings enabled="true">                                             
            <add url="~/" mappedUrl="~/index.aspx" />                
            <add url="~/default.aspx" mappedUrl="~/index.aspx" />                
        </urlMappings>                                                           
    </system.web>                                                                
</configuration>            

Upvotes: 9

Chris
Chris

Reputation: 4671

Cassini (the built-in webserver used by Visual Studio) doesn't allow you to configure the Default Document that's used if you don't specify a filename in your URL. The 'Set as Start Page' option isn't the same thing, as you've found, since that only affects which page is first opened when you run the project, and doesn't affect subsequent page-loads.

However, Cassini does have a list of Default Documents - it just isn't configurable, and the list only contains "default.aspx" and "default.htm". The only way you could achieve what you want in Cassini is to rename all your "index.aspx" files to "default.aspx".

Upvotes: 14

Chris
Chris

Reputation: 40641

Go into the IIS manager (in control panel - administrative tools)

Right click - properties on the default website

Documents tab - ensure that 'enable default document' is ticked, and that index.aspx is in the list of default documents, up the top preferably.

Home directory tab - make sure you've got an application created (application name shouldn't be blank). Click the 'create' button if you need to.

asp.net tab - check that you've selected the correct version of the framework that you want.

Let me know how you go.

Upvotes: 2

to StackOverflow
to StackOverflow

Reputation: 124746

You can use IIS Manager to set the Default document(s) for your site/application.

Cassini (the development web server integrated in Visual Studio) doesn't support the possibility to change the default document.

And yes, you do need to be an administrator to configure IIS.

Upvotes: 0

Shyju
Shyju

Reputation: 218832

You can remove or rename your index.aspx , so that it will show the directory listing when runs unless you set another page as start page.

For the second thing, u can use ASP.NET URL masking feature

Upvotes: 0

Related Questions