Стоит ли эта функция для создания пользовательского элемента управления в asp.net - PullRequest
0 голосов
/ 09 сентября 2011

Я думал о создании элемента управления для цели, которая отображает текстовое поле для добавления адреса электронной почты и кнопку, которая публикует значение после проверки на стороне клиента с помощью элемента управления проверкой, и когда это электронное письмо является действительным, оно добавит его в checkboxlist и отобразит его.Теперь, как это вписалось бы в сценарий управления.

Usercontrol обращается к конкретным случаям, таким как привязка данных и отображение, но это похоже на то, что вся функция должна быть связана с управлением, требуется как dll / сборка, но пользователь заинтересован тольков значении адреса электронной почты.

Какой BaseClass подходит для этого сценария?

Если я следую классу Control, мне придется проделать тяжелую работу по обработке значения обратной передачи, привязав его к флажку, но я получаю прекрасный контроль над тем, что отображается.

Когда я использую usercontrol [ascx], чтобы сделать то же самое, функциональность и отображение могут быть упакованы, но как насчет dll / Assembly, я должен предоставить общедоступное свойство источника данных, если пользователь хочет связать данные с элементом управления?

Если бы я использовал композитные элементы управления, это звучало бы великолепно :), но обрабатывает ли он обратные вызовы, или я должен обрабатывать дружественную работу

1 Ответ

0 голосов
/ 09 сентября 2011

Если вы хотите отправить свой элемент управления для использования во многих других проектах или в общественном достоянии, то создайте класс Control или CompositeControl, так как он может быть легко упакован в DLL, но, как вы уже знаете, это больше работы и нет никаких ограничений на то, что вы можете делать в классе.

Если нет, то создайте ASCX, они позволяют быстро выполнить обработку, но, очевидно, более сложны, если вы хотите использовать их повторно, возможно упаковать в ASCX, но иногда это не стоит головная боль.

Это то, что вы спрашиваете?

...