2010-05-28 3 views
1

У меня есть контроллер под названием «Учетная запись» на моем основном сайте, и я хотел бы ссылаться на его метод с помощью в Asp.net MVC 2 Area.Как ссылаться на другие районы?

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

Спасибо!

+0

Что вы подразумеваете под ссылкой? Вы хотите сделать ссылку на действие или перенаправить на действие с контроллера? Здесь недостаточно информации. – Jab

ответ

1

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

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

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

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

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

Эти примеры плохо отформатированы с неправильным синтаксисом. С их помощью вы получите ошибки компиляции. – JustinStolle

2

Вот пошаговое руководство: http://msdn.microsoft.com/en-us/library/ee671793.aspx

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

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

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

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

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

+0

Также очень информативно, спасибо! – chobo

Смежные вопросы