Переход обратно к «Домой» из области (MVC2) - PullRequest
0 голосов
/ 26 апреля 2010

У меня есть несколько областей в моем приложении, которые относительно независимы (все переходы с главной страницы). Итак, на данный момент я просто использую шаблон MVC2 «по умолчанию» (тот, который вы получаете при создании нового проекта MVC2). Итак, меню выглядит так:

ДОМАШНЯЯ ОБЛАСТЬ1 ОБЛАСТЬ2 ОБЛАСТЬ3 ОБЛАСТЬ4 .... О

Теперь, когда я впервые загружаю страницу, я нахожусь в «HOME», и я могу нажать на «О» без проблем. Я также могу перейти к любой из областей, однако, как только я перехожу на страницу области, я не могу вернуться к себе домой или к страницам (404 не найдено). Когда я перехожу к ним и нажимаю около, адресная строка показывает ... / AreaX / Home / Home вместо Home / Home, как я и ожидал.

Я ожидаю, что это как-то связано с моей маршрутизацией, но я не совсем уверен. Я ничего не добавил / не изменил с маршрутизацией по умолчанию (что, вероятно, является проблемой!).

Вот значение маршрутизации, которое у меня есть в global.asax (как я уже сказал, по умолчанию)

routes.MapRoute(
    "Default", // Route name
    "{controller}/{action}/{id}", // URL with parameters
    new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);

Есть мысли?

Ответы [ 2 ]

3 голосов
/ 26 апреля 2010

Когда вы ссылаетесь, вы можете установить область на ноль (хотя вам нужно сделать это особым образом). Что-то вроде ...

<%: Html.ActionLink("Home", "Home", "Home", new { area = (string)null; }) %>

Возможно, у меня неверное количество параметров.

Вы можете ссылаться прямо так

<a href="/rooted_path_here">adasda</a>

Или вы можете написать методы расширения для метода HtmlHelper, которые делают то же самое. Я выбрал этот маршрут, поскольку я также могу легко авторизовать пользователей. В итоге вызывается ActionLink.

0 голосов
/ 15 октября 2010

Синтаксис MVC2

<%= Html.ActionLink("Home", "Home", "Home", new { area = (string)null }, null) %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...