Я заметил странное поведение при использовании строго типизированного метода расширения HtmlHelper.ActionLink () из ASP.NET MVC 2 Futures. Когда я использую его для связи с контроллером в области, я должен использовать следующий атрибут на этом контроллере
[ActionLinkArea("SomeArea")]
Он правильно связывается с действиями контроллера, расположенного в SomeArea, из области по умолчанию. Проблема в том, что я хочу сделать ссылку на действие контроллера, расположенное в области по умолчанию изнутри SomeArea. Ссылка появляется с префиксом "/ SomeArea /". Обходной путь, который я использую:
[ActionLinkArea("")]
на контроллере на всех контроллерах, которые расположены в области по умолчанию (с использованием наследования).
Это кажется странным, потому что, по моему мнению, это должно быть поведение по умолчанию для этого метода. Используя .NET Reflector для этого метода расширения, я заметил, что ошибка заключается в следующем:
return helper.RouteLink(linkText, routeValuesFromExpression, new RouteValueDictionary(htmlAttributes));
Так что на самом деле это поведение по умолчанию HtmlHelper
.