Я создаю ссылку внутри основного файла _Layout.cshtml внутри приложения MVC3.
@Html.ActionLink("Security", "Index", "Home", new { area = "Security" }, new { })
Когда страница отображается, это результирующий HTML
<a href="/Security">Security</a>
и если я нажму на эту ссылку, я получу пустую страницу.
У меня установлено routedebugger и вот результаты:
У меня есть маршрут по умолчанию внутри Global.ascx.cs следующим образом:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional },
new string[] { "Eis.Mvc.Web" }// Parameter defaults
);
и маршрут зоны безопасности:
context.MapRoute(
"Security_default",
"Security/{controller}/{action}/{id}",
new { area = "Security", controller = "Home", action = "Index", id = UrlParameter.Optional },
new string[] { "Eis.Mvc.Web.Areas.Security.Controllers" }
);
Если я непосредственно наберу следующий URL, http://localhost:1410/Security/home,, будет отображена правильная страница.
Как я могу получить ссылку @ Html.Action для включения URL-адреса контроллера в часть?
У меня есть контроллер Home с действием Index в корневой части приложения, и мне пришлось включить фильтры пространства имен в регистрации маршрутов.
Спасибо,
Keith