пытаетесь использовать usercontrols из другого проекта в одном решении? - PullRequest
0 голосов
/ 17 октября 2011

Я пытаюсь использовать usercontrols из другого проекта в моем решении asp.net 3.5?

как я могу их использовать? какая ссылка?

Ответы [ 2 ]

0 голосов
/ 17 октября 2011

Один из способов сделать это - создать 1. проект веб-приложения с общими пользовательскими контролями, 2. на который затем ссылаются другие проекты веб-приложений, которым необходимо использовать элементы управления 3. для каждого приложения / веб-сайта, использующего элементы управления, создать вирткаталог, указывающий на местоположение ascx, чтобы они могли быть включены в ваши страницы

. Существуют различные варианты этого при развертывании в производство, конечно .. в зависимости от ваших предпочтений развертывания.Да, я согласен, что, как правило, если вы хотите использовать повторно, то должны использоваться серверные элементы управления / класс lib, но часто проще и быстрее реализовать сложный пользовательский интерфейс в пользовательских управлениях и обмениваться ими, как описано выше.Также работает при повторном использовании пользовательских элементов управления из другого существующего веб-приложения. Просто создайте виртуальную директорию, указывающую на местоположение ascx и ссылающуюся на dll приложения (или просто вставьте свой БИН)

0 голосов
/ 17 октября 2011

Как правило, пользовательские элементы управления предназначены для использования в рамках одного проекта.Это связано с тем, что пользовательский элемент управления состоит из двух частей - файла разметки (ascx) и кода кода.Если вы скомпилируете проект в библиотеку, класс code-behind будет упакован в dll, но не в часть ascx.Разметка (ascx) содержит фактическое дерево элементов управления и, следовательно, без него пользовательский элемент управления не может быть использован.Поэтому одним из решений для совместного использования пользовательских элементов управления является сбор кода пользовательского элемента управления в библиотеку и копирование файлов ascx в целевой проект.

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

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