asp.net-mvc-4 - ASP.NET 帮助页面默认主页?

标签 asp.net-mvc-4 asp.net-mvc-areas attributerouting asp.net-web-api-helppages

我要去http://myserver并且能够得到Help Pages作为默认主页,所以 guest 的第一件事就是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"我得到:

The view 'Index' or its master was not found or no view engine supports the searched locations



当我将帮助页面路由更改为 "{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/

相关文章:

c# - 如何在 ASP.NET MVC 5 的两个不同 Controller 中访问具有相同名称的操作方法?

html - MVC4 Web 的布局 CSS

c# - ASP.NET MVC 4 C# HttpPostedFileBase,如何存储文件

c# - 具有 MVC5 属性路由的模糊路由

asp.net-mvc - 组合 ASP.NET MVC Web 应用程序的最佳实践(MEF、Areas、DI)

c# - ASP.NET Core 2.0 webApp 在发布到 iis 后显示 'view Index was not found...'

c# - 如何在不使用属性路由在 Route 属性上指定名称的情况下生成 Web Api 2 URL?

asp.net-mvc-4 - 获取连接的IP地址

c# - 在哪里可以找到 Microsoft.IdentityModel.Extensions.dll 库?

asp.net-mvc - MVC5 注销链接从不同区域失败