MVC 3 Маршрут в область - PullRequest
3 голосов
/ 23 июня 2011

Как проходит один маршрут из одного района в другой?

В проекте по умолчанию нет областей, но как только вы добавите область, как я могу перенаправить с домашней страницы по умолчанию на страницу внутри моей новой области?

Я не вижу метода RedirectTo *, который принимает параметр для имени области в любом месте. Разве я полностью упускаю суть области?

Ответы [ 2 ]

3 голосов
/ 23 июня 2011

В наших представлениях нам не нужно указывать значение данных маршрута области при создании ссылок на другие действия контроллера внутри этой области.Мы предоставляем только имя действия, потому что имя контроллера и области будет получено из существующих данных маршрута для текущего запроса.Если мы хотим связать с внешней областью, нам нужно явно предоставить эти данные маршрута.

return RedirectToAction("yourAction", "YourController", new { area = "yourArea" });

Значение маршрута "area" должно соответствовать AreaName, используемому в классе AreaRegistration, для URL-адреса длягенерировать правильно.

0 голосов
/ 23 июня 2011

Этот код, по вашему мнению, свяжет вас с областью администратора, независимо от того, в какой области вы находитесь в данный момент:

@Html.ActionLink("Click Me", "ActionName","ControllerName",new { Area = "AreaName"}, null )

например (пример с плохой выдумкой)

@Html.ActionLink("Administer User", "Home","UserAdmin",new { Area = "Admin"}, null )

Последний ноль в вызове соответствует HtmlAttributes, и я обычно оставляю его как ноль.

...