asp.net application default file Index.aspx

2019-02-09 07:39发布

问题:

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

回答1:

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".



回答2:

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>            


回答3:

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.



回答4:

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



回答5:

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.