2
生成的URL我有一個具有特殊地區航線如下的ASP.NET MVC應用程序:用於ASP.NET MVC區域的路由與子
區註冊文件:
context.Routes.MapHttpRoute(
"AccessControlApi_default",
"accesscontrol/api/{controller}/{id}",
new { id = RouteParameter.Optional }
);
context.MapRoute(
"AccessControl_dashboardwidgets",
"accesscontrol/dashboardwidgets/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional },
new[] { "AccessControl.Controllers.DashboardWidgets" }
);
context.MapRoute(
"AccessControl_default",
"accesscontrol/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional },
new[] { "AccessControl.Controllers" }
);
首先路由是api,第二個用於該區域下的子文件夾中的控制器和視圖,第三個用於區域內的默認控制器。
一切都與路由的工作很好,但問題是與使用Url.Action
像這樣的:
<a href='@Url.Action("Index","Home",new{area="AccessControl"})'>Go to home</a>
它總是注射dashboardwidgets關鍵字在這樣的面積和控制器之間的網址:{主機}/accesscontrol/dashboardwidgets /首頁/索引
如何根據我的需要生成url,無論是根區還是此子文件夾在該地區?
我給它一個嘗試 –
它產生全錨,不僅是網址? –
根據MSDN,他們都生成完全限定的URL,請參閱此鏈接:https://msdn.microsoft.com/en-us/library/system.web.mvc.urlhelper_methods(v=vs.118).aspx – JTMon