1

У меня есть проблема с генерацией ссылки У меня есть зона под названием «Администрация», он также имеет HomeController как корень, В MasterPageHtmlHelper ActionLink опускает область (ASP.NET MVC 4)

<li>@Html.ActionLink("Home", "Index", "Home")</li> 
<li>@Html.ActionLink("Admin", "Index", "Home", new {area = "Administration"})</li> 

Также я унаследовал от Route, и метод GetVirtualPath принимает значения параметров , который опускает ключ области и передает только контроллер и действие.

Где я ошибся?

ответ

-1

Проблема решена, и был в DataTokens. Я определял область только для областей, но не для контроллеров в корне. Теперь это работает. Благодаря!

+4

Не могли бы вы подробнее рассказать о своем ответе? Просто начал возиться с MVC 4 и столкнулся с той же проблемой, но не смог четко разобрать ваш ответ. Спасибо за любую помощь заранее. –

6

Вы используете неправильную перегрузку. Вы должны использовать LinkExtensions.ActionLink Method (HtmlHelper, String, String, String, Object, Object) (обратите внимание на последний параметр в конце)

@Html.ActionLink("Admin", "Index", "Home", new {area = "Administration"}, null) 
+0

Спасибо archil, но в этом случае я получаю ссылку, указывающую на тот же URL-адрес, что и первый ... Маршрут правильный, если идти вручную – Artem

1
<li>@Html.ActionLink("Home", "Index", "Home", new {area = ""}, null)</li> 
<li>@Html.ActionLink("Admin", "Index", "Home", new {area = "Administration"}, null)</li> 
Смежные вопросы