Как разработать «отправляемые» компоненты для ASP.NET MVC? - PullRequest
5 голосов
/ 31 октября 2008

В веб-формах ASP.NET у нас есть серверные компоненты, которые можно инкапсулировать во внешнюю сборку и поставлять как продукт. В ASP.NET MVC у нас нет серверных компонентов, так какой же лучший вариант для внешних компонентов?

Оглядываясь вокруг, кажется, что единственно возможный вариант - создать Html helper метод, который возвращает набор html + js, который манипулирует вещами. И если компоненту нужна некоторая логика, модуль http, который добавляет несколько новых маршрутов, и контроллер, определенный в той же внешней сборке для обработки вызовов ajax.

В противном случае RenderPartial возвращает только представление ... но представление - это реальный файл, поэтому его трудно инкапсулировать во внешнюю сборку, если он не добавлен как файл ресурсов, а затем извлечен с использованием поставщика пути, который просматривает файл ресурса вместо реального места на диске.

Или есть другие варианты, которые я не рассматриваю?

Thx Симо

Ответы [ 5 ]

2 голосов
/ 01 ноября 2008

Поскольку логика на стороне сервера полностью отделена от логики на стороне клиента, на самом деле нецелесообразно создавать компонент как на стороне сервера, так и на стороне клиента для Asp.Net MVC. Вы можете лучше создавать чистые компоненты Html / Javascript, которые можно использовать на нескольких платформах (Ruby on rails, php, python, java), а также с руководством по их интеграции на нескольких платформах. Платформой, для которой вы разрабатываете, является не asp.net mvc, а веб-браузеры в целом! Хорошим источником вдохновения является Ext JS Framework

1 голос
/ 31 октября 2008

Ничто не мешает вам разработать собственный элемент управления (скажем, для причудливой сетки), инкапсулировать его в сборку и отправить его

Но это будет работать только для первого рендеринга: что если я хочу, чтобы сетка сортировалась / пейджинговая / редактировалась и т. Д.?

0 голосов
/ 21 декабря 2010

Попробуйте PortableArea от MVCContrib. Кажется, это то, что вы ищете. Даже если это не так, исходный код может помочь вам достичь цели.

Демонстрационное видео: http://www.viddler.com/explore/c4mvc/videos/11/

0 голосов
/ 01 ноября 2008

Если вы хотите, скажем, сортировать и разбивать на страницы, один из способов - через AJAX. У Telerik это демо с сеткой .

0 голосов
/ 31 октября 2008

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

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