/ / Ajudante de ActionLink fortemente tipado com áreas em asp.net MVC 3 - asp.net-mvc-3

Assistente de ActionLink fortemente tipado com Áreas em ASP.net MVC 3 - asp.net-mvc-3

Os ajudantes de link de ação fortemente tipificados no MvcContrib não parecem funcionar com áreas:

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

e

<%: Html.ActionLink<FooController> %>

rotas para / Foo, em vez de / Bar / Foo

Quais outras soluções estão disponíveis para criar links de ação fortemente tipados que funcionam com áreas?

Respostas:

0 para resposta № 1

Você poderia decorar o seu controlador com o [ActionLinkArea] atributo para indicar que este controlador éparte de uma área (sim, não há como saber isso em tempo de execução além de usar reflexão e verificar se o namespace contido contém Área que não é confiável. Esse comportamento será alterado no ASP.NET MVC 4, onde as áreas serão de primeira classe cidadãos do quadro):

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

Agora, o seguinte irá gerar um link adequado:

<%= Html.ActionLink<FooController>(x => x.Index(), "Go to index in Bar area") %>