Примеры связывания пользовательского серверного элемента управления
Обновлен: Ноябрь 2007
В этом разделе описываются способы компиляции примеров пользовательского элемента управления в сборку и использования элементов управления на веб-страницах ASP.NET. В нем также описаны способы использования папки App_Code веб-узла ASP.NET для тестирования кода элемента управления без компиляции.
Создание сборки элемента управления
Создание и компиляция пользовательских элементов управления в сборку
Создайте папку для исходных файлов пользовательских элементов управления и связанных классов.
Создайте текстовый файл с соответствующим расширением языка для каждого примера, для которого требуется компиляция.
Например, создайте файл с именем MailLink.cs для кода на языке C# для элемента управления MailLink в разделе Пример подготовки веб-элемента управления для отрисовки.
Скопируйте и вставьте исходный код для каждого примера в соответствующий текстовый файл и сохраните файл.
Выполните следующую команду из папки исходного кода для компиляции элементов управления и связанных классов в сборку.
csc /t:library /out:Samples.AspNet.CS.Controls.dll /r:System.dll /r:System.Web.dll /r:System.Design.dll *.cs
vbc /t:library /out:Samples.AspNet.VB.Controls.dll /r:System.dll /r:System.Web.dll /r:System.Design.dll *.vb
Параметр компилятора /t:library указывает, что компилятор должен создать библиотеку (а не исполняемую сборку). Параметр /out предоставляет имя для сборки, а параметр /r — список сборок, связанных с текущей сборкой.
Примечание. При невозможности выполнить команду компилятора перед запуском команды необходимо добавить путь установки платформы .NET Framework в переменную среды Windows PATH. В Windows щелкните правой кнопкой мыши Мой компьютер, щелкните Свойства, перейдите на вкладку Дополнительно, а затем нажмите кнопку Переменные среды. В списке Системные переменные дважды щелкните переменную Path. В поле Значение переменной добавьте точку с запятой (;) в конец существующих значений текстового поля и введите путь установки платформы .NET Framework. Обычно платформа .NET Framework устанавливается в папку установки Windows в \Microsoft.NET\Framework\номер_версии.
Повторно выполняйте команду компиляции на шаге 4 всякий раз при добавлении новых исходных файлов в папку исходного кода или изменении существующих файлов.
Создание веб-узла ASP.NET
Создание веб-узла ASP.NET
Создайте веб-узел ASP.NET с помощью служб IIS или другого средства.
Сведения о создании и настройке виртуального каталога IIS см. в разделе Практическое руководство. Создание и настройка виртуальных каталогов в IIS 5.0 и 6.0.
Примечание. Чтобы использовать службы IIS, установите IIS перед установкой платформы .NET Framework.
Создайте папку Bin в корневой папке веб-узла.
Скопируйте сборку, созданную в предыдущей процедуре, в папку Bin веб-узла.
Примечание. При повторной компиляции сборки элемента управления (последний шаг в предыдущем разделе) необходимо снова скопировать новую сборку в папку Bin веб-узла.
Создайте текстовый файл с именем Web.config в корневой папке веб-узла, добавьте следующий XML-код в файл Web.config, а затем сохраните файл.
<?xml version="1.0"?> <configuration> <system.web> <compilation debug="true"/> <pages> <controls> <add tagPrefix="aspSample" namespace="Samples.AspNet.CS.Controls" assembly="Samples.AspNet.CS.Controls" > </add> </controls> </pages> </system.web> </configuration>
<?xml version="1.0"?> <configuration> <system.web> <compilation debug="true"/> <pages> <controls> <add tagPrefix="aspSample" namespace="Samples.AspNet.VB.Controls" assembly="Samples.AspNet.VB.Controls" > </add> </controls> </pages> </system.web> </configuration>
Добавьте текстовый файла с расширением ASPX в корневую папку веб-узла для каждого примера, который требуется протестировать.
Например, создайте файл с именем MailLinkTest.aspx для тестовой страницы элемента управления MailLink, приведенного в разделе Пример подготовки веб-элемента управления для отрисовки.
Скопируйте и вставьте исходный код для каждого примера тестовой страницы в соответствующий ASPX-файл и сохраните файл.
Запрос страницы ASPX в веб-обозревателе.
Например, если веб-узел с именем ServerControls включает страницу с именем MailLinkTest.aspx, то введите следующий URL-адрес в адресную строку обозревателя:
https://localhost/ServerControls/MailLinkTest.aspx
Использование папки App_Code для тестирования элементов управления
Можно использовать функцию динамической компиляции ASP.NET 2.0 для тестирования элементов управления без их компиляции в сборку.
Перемещение элемента управления в папку App_Code
Создайте папку App_Code в корневой папке веб-узла.
Скопируйте в папку App_Code исходные файлы элементов управления и связанных классов.
Если ранее в папку Bin добавлялась сборка для элемента управления, удалите ее.
Примечание. Можно либо осуществить предварительную компиляцию элемента управления в сборку и поместить эту сборку в папку Bin, либо поместить исходный файл элемента управления в папку App_Code. При добавлении элемента управления в обе папки анализатор страниц не сможет разрешить ссылку на элемент управления на странице, в результате чего генерируется ошибка.
Измените запись в разделе controls в файле Web.config, введя следующую выделенную запись, которая сопоставляет пространство имен элемента управления с префиксом тега:
<controls> <add tagPrefix="aspSample" namespace="Samples.AspNet.CS.Controls">..</add> </controls>
<controls> <add tagPrefix="aspSample" namespace="Samples.AspNet.VB.Controls">..</add> </controls>
Дополнительные сведения см. в разделе @ Register.
Запрос страницы ASPX в веб-обозревателе.
При помещении исходных файлов для классов QuickContacts и ContactCollectionEditor, представленных в разделе Пример свойства-коллекции веб-элементов, в папку App_Code необходимо также добавить ссылку на сборку System.Design в разделе compilation файла Web.config. Для этой ссылки необходимо указать полное имя сборки System.Design. Можно получить сведения, необходимые для полного имени, запустив средство Программа глобального кэша сборок (Gacutil.exe), который поставляется в комплекте с SDK (пакет средств разработки программного обеспечения) для Windows, используя следующий синтаксис:
gacutil /l System.Design
Примечание. |
---|
Для запуска средства .Программа глобального кэша сборок (Gacutil.exe) из командной строки переменная среды Windows PATH компьютера должна содержать путь к папке установки .NET Framework. В Windows щелкните правой кнопкой мыши Мой компьютер, щелкните Свойства, перейдите на вкладку Дополнительно, а затем нажмите кнопку Переменные среды. В списке Системные переменные дважды щелкните переменную Path. В поле Значение переменной добавьте точку с запятой (;) в конец существующих значений текстового поля и введите путь установки платформы .NET Framework. Обычно платформа .NET Framework устанавливается в папку установки Windows в \Microsoft.NET\Framework\номер_версии. |
Тег, добавляемый в раздел compilation файла Web.config, аналогичен выделенному блоку в следующем примере. Однако необходимо заменить значения атрибутов Version и PublicKeyToken на значения, возвращаемые средством Gacutil.exe.
<compilation >
<assemblies> <add assembly="System.Design, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> </assemblies>
</compilation>
Примечание. |
---|
При использовании интегрированной среды разработки конструктор может предоставлять более простой способ добавления ссылки на сборку в файл Web.config. Например, если в Visual Studio 2005 щелкнуть правой кнопкой мыши по имени веб-узла в обозревателе решений и нажать Добавить ссылку в контекстном меню, то можно использовать диалоговое окно, позволяющее выбрать сборку для добавления. При выборе сборки конструктор автоматически добавляет соответствующую запись в файл Web.config. |
См. также
Задачи
Пошаговое руководство. Создание и использование пользовательского серверного элемента управления
Другие ресурсы
Разработка пользовательских серверных элементов управления ASP.NET