Как ссылаться на другие области? - PullRequest
1 голос
/ 28 мая 2010

У меня на главном сайте есть контроллер «Account», и я хотел бы сослаться на метод из него в области Asp.net MVC 2.

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

Спасибо!

Ответы [ 2 ]

2 голосов
/ 29 мая 2010

Вот прохождение: http://msdn.microsoft.com/en-us/library/ee671793.aspx

Вы передаете имя области в объекте параметра routeValues.

Url.Action("Index", "Home", new { area = "MyArea" })

Конструктор, который вам нужно использовать для Html.ActionLink, также имеет параметр htmlAttributes, который можно установить в null.

Html.ActionLink("Link Text", "Index", "Home", new { area = "MyArea" }, null)

Использовать пустую строку для области по умолчанию.

1 голос
/ 29 мая 2010

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

Контроллер в области по умолчанию

html.actionlink("Home", "Index", New with {.area = "", .controller = "Home"})

Контроллер в другой области

html.actionlink("Home", "Index", New with {.area = "someArea", .controller = "Home"})
...