【发布时间】:2016-01-11 03:52:34
【问题描述】:
好的,我知道在 MVC 6 中使用属性路由的最简单方法是:
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc();
}
public void Configure(IApplicationBuilder app)
{
app.UseMvc();
}
}
这是使用新令牌(无区域)的控制器代码:
[Route("[controller]/[action]")]
public class HomeController : Controller
{
}
这是使用新令牌(带区域)的控制器代码:
[Area("MyArea")]
[Route("[controller]/[action]")]
public class HomeController : Controller
{
}
问题:
- 这是 MS 希望您使用区域和令牌对控制器进行编码的方式吗?
- 或者有更清洁的方法吗?
- 他们能以某种方式创建一个 [area] 令牌吗?
最后,我知道我可以玩这个游戏,但第一种基于约定的方法 - app.UseMvc() - 不是最简单的吗?
public void Configure(IApplicationBuilder app)
{
app.UseMvc(routes =>
{
routes.MapRoute(
name: "areaRoute",
template: "{area:exists}/{controller=Home}/{action=Index}/{id?}"
);
});
}
【问题讨论】:
标签: asp.net-mvc-routing asp.net-core-mvc