Как создать элемент управления / компонент ASP.NET MVC 3, который может быть использован другими приложениями - PullRequest
9 голосов
/ 11 ноября 2011

Мне необходимо предоставить компонент, включающий бизнес-логику и пользовательский интерфейс, для использования на веб-сайте ASP.NET MVC 3, который разрабатывается другой компанией.

Я знаю, как обходить серверные элементы управления ASP.NET WebForms и как упаковывать и распространять их для повторного использования в проектах. У меня также есть опыт работы с MVC в целом и некоторый опыт ASP.NET MVC. Я перечитал материалы, рекомендующие использовать HTML-помощники и тому подобное, но большинство из них касается только повторного использования или повторного использования пользовательского интерфейса внутри одного проекта ASP.NET MVC. Я не нашел упоминаний о том, как упаковать и распространить такую ​​функциональность для ASP.NET MVC.

Бизнес-логика является основной частью этого компонента. Предполагается, что это своего рода мастер, который проходит множество этапов и который также будет работать с базой данных с использованием Entity Framework и отправлять пользователю электронное письмо по завершении.

  • Как мне поступить с созданием элемента управления / компонента, который инкапсулирует сложную бизнес-логику, а также отображает свой собственный вывод пользовательского интерфейса / представления и который можно распространять в виде отдельной сборки? Это вообще возможно или только в некоторой степени?

  • Будет ли это как-то выполнимо, обернув модель, представление и контроллер внутри сборки?

  • Или лучше подходить к этому как к сложной модели? Если да, то как можно было бы подключить пользовательский интерфейс / представление и контроллер к этому компоненту потребителем компонента?

Я также видел пару поставщиков, таких как Telerik, которые продают что-то в соответствии с элементами управления / компонентами ASP.NET MVC, поэтому я предполагаю, что это как-то возможно сделать.

Ответы [ 2 ]

3 голосов
/ 29 декабря 2011

В этой статье рассказывается, как вызывать контроллеры из других сборок.

Чтобы повторно использовать только виды, вы можете использовать RazorGenerator .

2 голосов
/ 11 ноября 2011

Рекомендую обратиться к MVC Control ToolKit Страница проекта CodePlex

Также см. ASP.Net MVC Sprite Проект

...