Я не знаю, насколько это возможно, если вы используете стандартные методы MVC (кроме того, что вы можете переопределить их для вызова своей собственной версии), но если вы используете ActionLink<TController>
или другие обобщенные методы, предоставленные в MvcFutures lib тогда можно.
Методы MvcFutures вызывают ExpressionHelper.GetRouteValuesFromExpression()
, который ищет ActionLinkAreaAttribute
на контроллере для определения области. Таким образом, вы можете украсить свои контроллеры в своей основной «области» следующим образом:
[ActionLinkArea("")]
[HandleError]
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
}
Ссылки действий должны быть сгенерированы правильно, используя стандартный синтаксис:
<%= Html.ActionLink<HomeController>(c => c.Index(), "Home") %>