如何在asp.net c中的webconfig文件中设置启动页面

时间:2013-12-04 05:42:21

标签: asp.net configuration web-config

如何使用webconfig文件设置起始页。我试过这段代码

<system.webServer>
        <defaultDocument enabled="true">
            <files>
                <clear />
                <add value="index.aspx"/>
            </files>
        </defaultDocument>
    </system.webServer>

但它对我没用。我已经通过右键单击解决方案资源管理器中的页面设置了启动页面,然后选择选项设置作为起始页面,但我如何以编程方式执行此操作

5 个答案:

答案 0 :(得分:71)

以下代码对我来说很好。请检查您的网络配置中的其他设置

 <system.webServer>
     <defaultDocument>
            <files>
                <clear />               
                <add value="Login.aspx"/>
            </files>
        </defaultDocument>
    </system.webServer>

答案 1 :(得分:2)

如果您的项目包含RouteConfig.cs文件,那么您可能需要通过在此文件中添加routes.IgnoreRoute("");来忽略到根路径。

如果它无法解决您的问题,请尝试以下操作:

void Application_BeginRequest(object sender, EventArgs e)
{
    if (Request.AppRelativeCurrentExecutionFilePath == "~/")
        Response.Redirect("~/index.aspx");
}

答案 2 :(得分:1)

I think this will help

    <directoryBrowse enabled="false" />
    <defaultDocument>
      <files>
        <clear />
        <add value="index.aspx" />
        <add value="Default.htm" />
        <add value="Default.asp" />
        <add value="index.htm" />
        <add value="index.html" />
        <add value="iisstart.htm" />
        <add value="default.aspx" />
        <add value="index.php" />
      </files>
    </defaultDocument>
  </system.webServer>

答案 3 :(得分:0)

当我安装Kaliko CMS Nuget Package时,同样的问题困扰着我。当我删除它时,它又开始正常工作。因此,您的问题可能是因为最近安装了Nuget软件包。卸载它,您的解决方案将正常工作。

答案 4 :(得分:-3)

您也可以通过代码实现它,在Session_Start事件中的Global.asax文件中将response.redirect写入您的起始页面,如下所示。

void Session_Start(object sender, EventArgs e)
        {
            // Code that runs when a new session is started

            Response.Redirect("~/Index.aspx");

        }

您可以从数据库或任何其他存储中获取重定向页面名称,以便在应用程序运行时更改应用程序启动页面,无需编辑web.config或更改任何IIS设置