Создание серверных элементов управления, таких как библиотеки ComponentOne или ComponentArt - PullRequest
0 голосов
/ 11 декабря 2010

Я опытный веб-разработчик, знающий все известные веб-фреймворки.

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

В ComponentArt: Вы можете легко зарегистрировать пространство имен componentart в своем проекте и привязать данные к этим элементам управления без какого-либо дополнительного кода или усилий (например, копирование любых дополнительных файлов в наши примеры проектов) и, конечно, они поддерживают Аякс.

Для этого я пришел к выводу, что мне нужно разработать несколько продвинутых UserControls, которые поддерживают обратные вызовы для обработки ajax, и информации о совместном использовании UserControls между различными проектами не так много. На самом деле вот единственная полезная ссылка: http://www.codeproject.com/KB/user-controls/EmbeddedUserControl.aspx

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

Мне нужен способ разработки некоторых веб-компонентов, которые вы можете:

  1. Легко поделитесь среди других проектов (Просто добавьте dll в проект и запустите используя его)
  2. Поддержка CallBack для AJAX (например, ICallbackEventHandler)
  3. Может иметь шаблон для HTML Design (например, UserControl с шаблоном ascx файл), поэтому вам не нужно жестко кодировать HTML в вашем коде, например:

    output.Write("<table>content</table>");

Пользовательские серверные элементы управления имеют первые два, но у них нет ascx-файлов, поэтому вы должны написать весь свой html-код в вашем cs-файле

Пожалуйста, сообщите ...

Ответы [ 3 ]

1 голос
/ 11 декабря 2010

Требования 1 и 3 являются взаимоисключающими. Разметка должна исходить откуда-то - либо скомпилированный ресурс, либо внешний файл. Ваш внешний файл может быть необязательным, но тогда вы должны иметь разметку по умолчанию, указанную в скомпилированном ресурсе. Скомпилированный ресурс не обязательно должен быть вашим файлом .cs. Вы можете поместить его в файл ресурсов, но я не уверен, что с ним будет легче работать. Вы также можете создать свой элемент управления как совокупность существующих серверных элементов управления, но это значительно усложнит создание шаблонов.

1 голос
/ 11 декабря 2010

Вы должны начать учиться с книгами как:

alt text

Используя эту книгу, я много времени создавал многоколоночный TreeView. Можно увидеть ЗДЕСЬ.

1 голос
/ 11 декабря 2010

Вместо жесткого кодирования HTML-кода вы могли бы, чтобы серверные элементы управления считывали его из файла, имя и путь которого вы определяете в зависимости от параметра конфигурации или пути к каталогу.Это позволило бы вашим серверным элементам управления быть более динамичными и не нуждаться в перекомпиляции при изменении HTML.Это помогло бы выполнить условие № 3 с небольшими затратами для № 1 (поскольку ваш серверный элемент управления теперь зависит от внешнего ресурса, который не так легко распространять).Вы всегда можете жестко закодировать разметку по умолчанию и вернуться к ней, если файл не найден в качестве дополнительной меры предосторожности против исключений.

...