#asp.net-mvc-3
#asp.net-mvc-3
Вопрос:
Недавно я изучал функциональность областей для своего приложения и добился частичного успеха при переносе кода в мою первую область.
Мой вопрос связан с привязкой изнутри области к местоположению, которого нет в области. Я прочитал руководство о том, как связать одну область с другой, но пока у меня все еще есть код, которого нет в области, как мне связать с ним?
<a href="@Url.Action("Index","Home", new )"> <span>Testing Link </span> </a>
Как мне сделать этот код, который в настоящее время ссылается на /myarea/home/index вместо ссылки на /home/index (не в области). Если это противоречит лучшим практикам, мне было бы интересно прочитать об этом, я все еще учусь ASP.NET версия областей
Ответ №1:
ссылка на область:
@Url.Action("Index","Home", new { area = "YourAreaName" } )
ссылка на место из любой области:
@Url.Action("Index","Home", new { area = "" } )
Полезный список:
@Html.ActionLink("LinkText", "ActionName", new { area = "AreaName" })
@Html.ActionLink("LinkText", "ActionName", new { area = "" })
@Html.ActionLink("LinkText", "ActionName", "ControllerName", new { area = "AreaName" }, new { /* html attributes */ })
@Html.ActionLink("LinkText", "ActionName", "ControllerName", new { area = "" }, new { /* html attributes */ })
<a href="@Url.Action("ActionName", new { area = "AreaName" })">Link Text</a>
<a href="@Url.Action("ActionName", new { area = "" })">Link Text</a>
<a href="@Url.Action("ActionName", "ControllerName", new { area = "AreaName" })">Link Text</a>
<a href="@Url.Action("ActionName", "ControllerName", new { area = "" })">Link Text</a>
Ответ №2:
RouteValues
Коллекция может принимать параметр области. Просто сделайте его пустым.
new { area = "" }
Комментарии:
1. Простой быстрый ответ, грустный, я сам об этом не подумал, оценил.