Как сменить контроллер по ссылке действия, перейти в корень сайта - PullRequest
0 голосов
/ 28 августа 2009

В настоящее время я пытаюсь использовать помощников actionlink таким способом, который, как мне кажется, не был описан в NerdDinner.

Допустим, я на этой странице

/ Обеды /

и на этой странице есть список ужинов, все в порядке и работает

теперь допустим, я хочу перейти в новый раздел сайта, для которого я создал новый контроллер MenuItemsController

Допустим, я хочу перейти на новую часть веб-сайта, которая управляет пунктами меню.

Итак, собираемся

/ пункт меню / 3

вызовет все пункты меню, связанные с идентификатором обеда 3.

Это тоже работает.

У меня проблемы со ссылками на каждую страницу пункта меню, потому что, когда я использую код actionlink, без особых изменений я получаю это

ужин1 = ссылка / обеды / пункты меню / 3

вместо

ужин = ссылка / пункты меню / 3

Код actionlink, который я пробую, -

<%= Html.ActionLink("Menu Items", "/menuitems", new { id=item.id })%>

вы можете увидеть / там. Это неправильно.

Я не был уверен, говорил ли этот пост об этой же проблеме или нет.

как у меня есть ссылки на корневые контроллеры на сайте site.master в asp.net mvc

Является ли действие связью абсолютно неправильной вещи для меня, чтобы использовать здесь, потому что они привязаны непосредственно к контроллеру, в котором я сейчас нахожусь?

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

Ответы [ 2 ]

1 голос
/ 28 августа 2009

Просто избавьтесь от косой черты и укажите контроллер и действие явно:

<%= Html.ActionLink("Menu Items", "Item", "menuitems", 
    new RouteValueDictionary { { "id", item.id } })%>

Вы не даете имя действия в своих примерах, поэтому я угадал "Предмет". Введите правильное название действия, очевидно.

Текущее имя контроллера используется, если вы используете одну из перегрузок ActionLink, которые не принимают имя контроллера.

Я написал подробное объяснение маршрутизации, ActionLink и других .

0 голосов
/ 28 августа 2009

Я странно после долгих поисков весь день только что нашел эту страницу,

http://devlicio.us/blogs/derik_whittaker/archive/2008/03/06/link-building-101-with-asp-net-mvc.aspx

похоже, что метод 3 может быть тем, что мне нужно, я попробую, когда вернусь домой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...