Возможность повторного использования элементов управления в .NET MVC - PullRequest
2 голосов
/ 06 декабря 2008

Я знаю лишь немного о .NET MVC и до сих пор практически не использовал его, но мне было интересно, как бы вы создали повторно используемые элементы управления, которые могут быть распределены по различным приложениям?

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

Как бы вы достигли этого в MVC? Я знаю, что вы все еще можете использовать элемент управления, как обычно, но это не похоже на то, как следует использовать MVC. Я думал, что обычно вы публикуете данные формы в новом представлении, проверяете данные формы и затем делаете все, что требуется, дальше. Однако, когда все это инкапсулировано внутри элемента управления, как вы можете разделить его на несколько представлений?

Некоторые моменты, которые я надеюсь получить от этого вопроса:

  • Как ты справляешься с этим?
  • Какой рабочий процесс используется в ваших элементах управления?
  • Ваши формы действительно публикуют на других страницах или они отправляют обратно на ту же страницу?

**** Обновление: ****

Я нашел эту запись в блоге от Роба Конери, но он не имеет отношения к элементам управления, он имеет дело с пользовательскими элементами управления. Даже если использовать приведенный ниже метод рендеринга элемента управления, как бы вы использовали его для отображения элемента управления, имеющего дело с формой?

http://blog.wekeroad.com/2008/01/07/aspnet-mvc-using-usercontrols-usefully/

Ответы [ 2 ]

2 голосов
/ 06 декабря 2008

Для повторного использования элементов представления пользовательские элементы управления и расширения HtmlHelper должны соответствовать вашим потребностям. Я создал проект, который расширяет страницы просмотра, чтобы генерировать элементы представления, используя свободный интерфейс. Читайте об этом здесь .

Однако это все подходы только для просмотра. Для повторного использования элемента пользовательского интерфейса, который включает обработку на стороне сервера MvcContrib разработал концепцию субконтроллеров. Читайте об этом здесь . Вот еще один пост в блоге , в котором описывается альтернативный подход, который утверждает, что он менее сложен с использованием «частичных запросов». Я еще не рискнул на эту территорию.

0 голосов
/ 06 декабря 2008

Вы можете использовать чистые элементы управления javascript, которые затем могут «отправлять обратно» через ajax На стороне сервера у вас есть действие controller +, которое обрабатывает изменения диапазона дат.

Пример календаря

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