12

我正在使用来自 ASP.NET 5 RC 的属性路由,包含在 Visual Studio 2013 RC 版本中。

我希望根路径 ,/通向规范/Home/Index路径,但我找不到仅使用属性路由的方法。是否有可能,如果没有,如果我也在使用 OWIN SelfHost,我该怎么做?换句话说,我HttpConfiguration在方法中手动设置了我自己的类WebApp.Start<T>(在启动时调用T了一个Configure(IAppBuilder)方法),而不是通过RouteTable.Routes对象。还是我应该通过RouteTable.Routes对象?当我尝试它时,我没有太多运气......

编辑:这是我迄今为止尝试过的:

// normal Web API attribute routes
config.MapHttpAttributeRoutes();

config.Routes.MapHttpRoute(
   name: "DefaultWeb",
   routeTemplate: "{controller}/{action}",
   defaults: new { controller = "Home", action = "Index" }
);

下面的第二次尝试看起来有点可疑,因为不清楚我的HttpConfiguration对象与静态RouteTable.Routes对象的关系:

// normal Web API attribute routes
config.MapHttpAttributeRoutes();

RouteTable.Routes.MapRoute(
   name: "DefaultWeb",
   url: "{controller}/{action}",
   defaults: new { controller = "Home", action = "Index" }
);
4

2 回答 2

29

您可以像这样为应用程序设置默认路由:

    [Route("~/", Name = "default")]
    public ActionResult Index() {
        return View();
    }
于 2013-11-10T03:28:52.863 回答
1

对于使用 .NET Core 1.x 的任何人,您都需要这样做并使用上面 Jay 的答案。

在您的 Startup.cs 文件中,将其添加到您的Configure方法中。

app.UseMvcWithDefaultRoute();

然后,您希望作为默认的任何控制器操作,将属性[Route("", Name = "default")]

于 2017-03-20T14:41:56.200 回答