我最近更新了Visual Studio for Update 3
和 ASP.Net Core for 1.0.0。
我按照文档中的教程进行操作,并尝试设置使用区域,例如 https://docs.asp.net/en/1.0.0/mvc/controllers/areas.html
但是,生成的链接 http://localhost:2187/?area=Admin,而不是 http://localhost:2187/Admin/Home/Index
更新
我的路线:
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
routes.MapRoute(
name: "areaRoute",
template: "{area}/{controller=Home}/{action=Index}");
});
怎么了?
溶液
问题在于答案提到的路线顺序。
这表示您没有在某个区域注册路线。
区域路径示例:
app.UseMvc(routes =>
{
routes.MapRoute(name: "areaRoute",
template: "{area}/{controller=Home}/{action=Index}");
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}");
});
更新:
您必须对路由重新排序,因为在这种情况下,将匹配第一个路由。我建议看一下路由文档以了解为什么顺序很重要。