如何使用webconfig文件设置起始页。我试过这段代码
<system.webServer>
<defaultDocument enabled="true">
<files>
<clear />
<add value="index.aspx"/>
</files>
</defaultDocument>
</system.webServer>
但它对我没用。我已经通过右键单击解决方案资源管理器中的页面设置了启动页面,然后选择选项设置作为起始页面,但我如何以编程方式执行此操作
答案 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设置