我想转到http://myserver并能够将“帮助页面”作为默认主页,因此http://myserver的访客应该首先看到的是“帮助页面”。

我有这样的默认路由设置:

public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

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

然后,我的“帮助页面区域”注册设置如下:
public override void RegisterArea(AreaRegistrationContext context)
{
    context.MapRoute(
        "HelpPage_Default",
        "doc/{action}/{apiId}",
        new { controller = "Help", action = "Index", apiId = UrlParameter.Optional });

    HelpPageConfig.Register(GlobalConfiguration.Configuration);
}

当我将RouteConfig的controller更改为"Help"时,我得到:



当我将“帮助页面”路由更改为"{controller}/{action}/{apiId}"时,我的AttributeRoutes停止工作。

有一些简单的方法可以使ASP.NET帮助页成为默认主页吗?

最佳答案

我通过以下RouteConfig完成了此任务。我还使用ASP.Net帮助页面从嵌入式XML注释自动生成文档:

public class RouteConfig
{
    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        // By default route the user to the Help area if accessing the base URI.
        routes.MapRoute(
            "Help Area",
            "",
            new { controller = "Help", action = "Index" }
        ).DataTokens = new RouteValueDictionary(new { area = "HelpPage" });
    }
}

我还应该提到,由于我在API方法上分别使用属性路由,因此该类中没有其他路由。

关于asp.net-mvc-4 - ASP.NET帮助页面的默认主页?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18879027/

10-11 17:28