Сильно типизированный помощник ActionLink с областями в ASP.net MVC 3 - PullRequest
0 голосов
/ 13 июля 2011

Помощники со строго типизированными ссылками действий в MvcContrib не работают с областями: -

namespace MySite.Areas.Bar.Controllers
{
  public class FooController
  ...

и

<%: Html.ActionLink<FooController> %>

маршруты к / Foo, а не / Bar / Foo

Какие другие решения доступны для создания строго типизированных ссылок действий, которые работают с областями?

1 Ответ

0 голосов
/ 14 июля 2011

Вы можете украсить свой контроллер с помощью атрибута [ActionLinkArea], чтобы указать, что этот контроллер является частью области (да, нет способа узнать это во время выполнения, кроме как с помощью отражения и проверки, содержит ли пространство имен содержащую область, котораяЭто ненадежно. Это поведение изменится в ASP.NET MVC 4, где области будут первоклассными гражданами платформы):

[ActionLinkArea("Bar")]
public class FooController : Controller
{
    public ActionResult Index()
    {
        return View();
    }
}

Теперь следующее сгенерирует правильную ссылку:

<%= Html.ActionLink<FooController>(x => x.Index(), "Go to index in Bar area") %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...