Получить данные для общего частичного представления - PullRequest
1 голос
/ 20 февраля 2010

К сожалению, я все еще немного n00bish, когда дело доходит до .NET MVC. У меня есть частичное представление навигации, вызываемое из MasterPage, где я хотел бы получить список данных. Это частичное представление находится в папке «Shared» и, следовательно, не имеет контроллера. Как мне получить данные к нему, чтобы он мог отобразить список?

Спасибо

Более конкретно, я хочу сделать что-то вроде этого (псевдокод):

<ul>
<% foreach (item in ListOfItems) {
    Response.Write(formattedListItem);
} %>
</ul>

Ответы [ 3 ]

1 голос
/ 20 февраля 2010

[Редактировать] Новая полезная ссылка теперь, когда я знаю полную историю

http://www.superexpert.com/blog/archive/2008/08/12/asp-net-mvc-tip-31-passing-data-to-master-pages-and-user-controls.aspx

0 голосов
/ 26 марта 2010

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

<% Html.RenderAction("actionName", "controllerName"); %>

Надеюсь, это поможет.

0 голосов
/ 20 февраля 2010

Вы передаете модель представления точно так же, как и для обычной страницы. Только вместо того, чтобы передавать его при вызове View (...) в контроллере, вы используете вспомогательный метод. Что-то вроде:

<% Html.RenderPartial("~/Views/Shared/Navigation.ascx", Model.MenuItems); %>

Данные, которые вы передаете (в данном случае Model.MenuItems), вероятно, будут получены из модели представления, в которой вы используете частичное представление (как в случае с примером выше).

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