Компоненты ASP.NET MVC

Есть ли способ иметь часть страницы, которая отображается как небольшая подстраница, как компоненты?

Например, если на всех моих страницах есть корзина покупок?


person Jesper Blad Jensen    schedule 16.09.2008    source источник


Ответы (4)


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

Html.RenderAction

использует Routedata, чтобы доставить вас туда, имеет свои собственные данные просмотра и своего рода мини-жизненный цикл

person DevelopingChris    schedule 16.09.2008

Используя предварительный просмотр 5, Html.RenderPartial - ваш помощник, вы можете отображать субэлементы управления и передавать им свои данные просмотра или произвольную модель, а также новую комбинацию данных просмотра.

person DevelopingChris    schedule 16.09.2008

Вы можете создать ActionFilter, который изменяет данные представления. Таким образом, вы можете украсить каждое действие, которое возвращает партиал, фильтром действий. Взгляните на мой пост:

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

person Community    schedule 16.09.2008

Вам нужны субконтроллеры. Эта реализация - лучший способ сделать то, о чем вы говорите.

Изменить: я только что опубликовал об этом здесь: http://mhinze.com/subcontrollers-in-aspnet-mvc/

person Matt Hinze    schedule 16.09.2008