我正在使用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" }
);
答案 0 :(得分:27)
您可以像这样设置应用的默认路线:
[Route("~/", Name = "default")]
public ActionResult Index() {
return View();
}
答案 1 :(得分:1)
对于使用.NET Core 1.x的任何人,您需要执行此操作以及使用Jay的上述答案。
在您的Startup.cs文件中,将其添加到您的Configure
方法。
app.UseMvcWithDefaultRoute();
然后,您想要作为默认值的任何控制器操作,将属性[Route("", Name = "default")]