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 № 1Você 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") %>