MVC 2 - Как установить пространство имен, на которое указывает actionlink - PullRequest
0 голосов
/ 18 октября 2010

У меня есть 2 пространства имен для моих контроллеров. Одним из них является MyProject.Controllers по умолчанию, а вторым является MyProject.Controllers.Framed. Я использую пространства имен, чтобы URL-адрес типа / home / index мог обслуживать обычный домашний веб-сайт, а / framed / home / index - версию, предназначенную для использования в iframe.

Моя проблема в том, что когда я ставлю <%: Html.ActionLink("Home", "Index", "Home")%> в моем представлении, по умолчанию это / Framed / Home / Index. Я полагаю, что это потому, что пространство имен в рамке добавляется первым в моей маршрутизации, и оно находится первым. Этого следовало ожидать и желать.

Моя проблема заключается в том, как установить пространство имен, используемое в моей ссылке на действие? В идеале я бы хотел, чтобы на моем веб-сайте по умолчанию все ссылки действовали на пространство имен по умолчанию (MyProject.Controllers). Я начинаю задумываться, стоит ли удобство вставки / вставки в URL для изменения рендеринга.

1 Ответ

1 голос
/ 19 октября 2010

Вы можете попробовать использовать метод RouteLink , который позволяет указать используемый маршрут:

<%: Html.RouteLink("FramedRouteName", new { controller: "Home", action: "Index" }) %>
...