如何设置默认页面asp.net [重复]

Posted

技术标签:

【中文标题】如何设置默认页面asp.net [重复]【英文标题】:How to set default page asp.net [duplicate] 【发布时间】:2013-08-02 21:20:02 【问题描述】:

我刚刚在我的服务器上发布了我的网站,但是当我在浏览器中输入 www.mysite.com 时,我收到了这个错误:HTTP Error 403.14 - Forbidden Web 服务器配置为不列出此目录的内容。但是,如果我键入 www.mysite.com/Home.aspx,它会正确加载。那么,如何设置默认页面?我的 web.config 中已经有了这个:

<system.webServer>
   <defaultDocument>
     <files>
       <add value="Pages/Home.aspx" />
     </files>
   </defaultDocument>
  </system.webServer>

【问题讨论】:

【参考方案1】:

ASP.NET 网络表单

web.config 文件上,尝试这个在之前使用clear 标签:

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

看这里:http://www.iis.net/configreference/system.webserver/defaultdocument

ASP.NET MVC / ASP.NET CORE

根据您使用的 asp.net mvc 版本,您可以将它放在不同的文件中(~/Global.asax.cs 在 v3 或更早版本或~/App_Start/RouteConfig.cs 在 v4 或更高版本)。在这两种情况下,您都会看到注册路由的内容,因为 asp.net mvc 使用路由而不是像 webforms 这样的文件。因此,您可以更改默认值:

public static void RegisterRoutes(RouteCollection routes)

    routes.IgnoreRoute("resource.axd/*pathInfo");

    routes.MapRoute(
        name: "Default",
        url: "controller/action/id",
        defaults: new 
         
            controller = "Home", // default controller
            action = "Index",  // default action on the controller
            id = UrlParameter.Optional
        
    );

ASP.NET CORE 上类似。

看这里:http://www.codeproject.com/Articles/624181/Routing-Basics-in-ASP-NET-MVC

【讨论】:

好吧,如果我要加载的默认页面放在文件夹中(在本例中为“Pages”),我是否必须在默认文档中添加“Pages/Home.aspx”??? 这是否适用于不在根目录中的文档?例如,如果我希望我的默认索引为“mydomain.com/folder1/index.html @Felipe,它对我不起作用,我在 ASP.net Web 窗体中使用 IIS Express 你写了“在 ASP.NET Core 上是类似的”但是没有“id = UrlParameter.Optional”,所以这是一个错误。 如果您使用 & 符号,请确保您使用 &而不是 &【参考方案2】:

除了 Felipe 的回答,您还可以从 IIS 执行此操作。

选择Admin Tools --> IIS Manager --> 从列表中选择您的网站。单击右侧的Default Document,然后单击Add。使用箭头将条目移动到列表顶部。你已经完成了。

但是,每次您发布网站时,这都会被覆盖。

【讨论】:

为其他疲倦的旅行者添加 - 下次发布网站时会覆盖此设置。

以上是关于如何设置默认页面asp.net [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在运行 asp.net 页面时以编程方式设置表格背景?

如何在 ASP .NET Core 2.1 中将登录页面设为默认路由?

更改 asp.net 中的默认登录页面 UI

如何在 ASP.NET CORE 5.0 MVC 中将登录设置为默认路由

如何设置 IIS 网站的默认编码?

ASP .NET Core 身份服务器默认登录页面为 Microsoft