asp.net mvc дочерние действия - PullRequest
       3

asp.net mvc дочерние действия

5 голосов
/ 17 января 2012

Я много работал с веб-формами asp.net, но это мое первое приложение ASP.Net MVC.Я хотел бы использовать дочернее представление для отображения некоторых элементов управления, которые отображаются и управляются (относительно) независимо от страницы. Например,

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

В веб-формах я мог просто создать ASCX (пользовательский веб-элемент управления).Когда в элементе управления нажимается дата, вся страница отправляется обратно, но я могу просто поместить обработку щелчков внутри элемента управления календаря;остальная часть страницы автоматически циклически отключается без необходимости в какой-либо конкретной логике для обработки обратной передачи элемента управления календаря.

с MVC, если я перенаправлю действие «дата нажата» на контроллер календаря, это не имеетзнание страницы, в которую он встроен, поэтому он может рисовать только календарь, а не остальную часть страницы.Единственный обходной путь, о котором я могу подумать (кроме ajax), - это заставить контроллер страницы-владельца обрабатывать все действия, связанные с щелчками календаря, и передавать их на контроллер календаря, прежде чем отображать представление для всей страницы

Надеюсь, у меня естьпропустил что-то очевидное.

Ответы [ 2 ]

3 голосов
/ 17 января 2012

Просмотр частичных представлений и RenderAction.

Вот несколько URL-адресов, с которых можно начать

http://rachelappel.com/razor/partial-views-in-asp-net-mvc-3-w-the-razor-view-engine/

http://haacked.com/archive/2009/11/18/aspnetmvc2-render-action.aspx

http://devlicio.us/blogs/derik_whittaker/archive/2008/11/24/renderpartial-vs-renderaction.aspx

0 голосов
/ 20 января 2012

Вы можете использовать iframe для отображения календаря на главной странице. Ваша главная страница может иметь URL http://example.com/main, а iframe может иметь URL http://example.com/calendar/today. Устанавливая атрибут target для ссылок, ссылка внутри iframe может перезагрузить только iframe или перезагрузить главную страницу. Аналогично, ссылка на главной странице может быть нацелена на iframe.

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

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