Примеры связывания пользовательского серверного элемента управления

Visual Studio 2010

Обновлен: Ноябрь 2007

В этом разделе описываются способы компиляции примеров пользовательского элемента управления в сборку и использования элементов управления на веб-страницах ASP.NET. В нем также описаны способы использования папки App_Code веб-узла ASP.NET для тестирования кода элемента управления без компиляции.

Создание и компиляция пользовательских элементов управления в сборку

  1. Создайте папку для исходных файлов пользовательских элементов управления и связанных классов.

  2. Создайте текстовый файл с соответствующим расширением языка для каждого примера, для которого требуется компиляция.

    Например, создайте файл с именем MailLink.cs для кода на языке C# для элемента управления MailLink в разделе Пример подготовки веб-элемента управления для отрисовки.

  3. Скопируйте и вставьте исходный код для каждого примера в соответствующий текстовый файл и сохраните файл.

  4. Выполните следующую команду из папки исходного кода для компиляции элементов управления и связанных классов в сборку.

    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 — список сборок, связанных с текущей сборкой.

    az5kdaz0.alert_note(ru-ru,VS.100).gifПримечание.

    При невозможности выполнить команду компилятора перед запуском команды необходимо добавить путь установки платформы .NET Framework в переменную среды Windows PATH. В Windows щелкните правой кнопкой мыши Мой компьютер, щелкните Свойства, перейдите на вкладку Дополнительно, а затем нажмите кнопку Переменные среды. В списке Системные переменные дважды щелкните переменную Path. В поле Значение переменной добавьте точку с запятой (;) в конец существующих значений текстового поля и введите путь установки платформы .NET Framework. Обычно платформа .NET Framework устанавливается в папку установки Windows в \Microsoft.NET\Framework\номер_версии.

  5. Повторно выполняйте команду компиляции на шаге 4 всякий раз при добавлении новых исходных файлов в папку исходного кода или изменении существующих файлов.

Создание веб-узла ASP.NET

  1. Создайте веб-узел ASP.NET с помощью служб IIS или другого средства.

  2. Сведения о создании и настройке виртуального каталога IIS см. в разделе Практическое руководство. Создание и настройка виртуальных каталогов в IIS 5.0 и 6.0.

    az5kdaz0.alert_note(ru-ru,VS.100).gifПримечание.

    Чтобы использовать службы IIS, установите IIS перед установкой платформы .NET Framework.

  3. Создайте папку Bin в корневой папке веб-узла.

  4. Скопируйте сборку, созданную в предыдущей процедуре, в папку Bin веб-узла.

    az5kdaz0.alert_note(ru-ru,VS.100).gifПримечание.

    При повторной компиляции сборки элемента управления (последний шаг в предыдущем разделе) необходимо снова скопировать новую сборку в папку Bin веб-узла.

  5. Создайте текстовый файл с именем 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>
    
  6. Добавьте текстовый файла с расширением ASPX в корневую папку веб-узла для каждого примера, который требуется протестировать.

    Например, создайте файл с именем MailLinkTest.aspx для тестовой страницы элемента управления MailLink, приведенного в разделе Пример подготовки веб-элемента управления для отрисовки.

  7. Скопируйте и вставьте исходный код для каждого примера тестовой страницы в соответствующий ASPX-файл и сохраните файл.

  8. Запрос страницы ASPX в веб-обозревателе.

    Например, если веб-узел с именем ServerControls включает страницу с именем MailLinkTest.aspx, то введите следующий URL-адрес в адресную строку обозревателя:

    http://localhost/ServerControls/MailLinkTest.aspx
    

Можно использовать функцию динамической компиляции ASP.NET 2.0 для тестирования элементов управления без их компиляции в сборку.

Перемещение элемента управления в папку App_Code

  1. Создайте папку App_Code в корневой папке веб-узла.

  2. Скопируйте в папку App_Code исходные файлы элементов управления и связанных классов.

  3. Если ранее в папку Bin добавлялась сборка для элемента управления, удалите ее.

    az5kdaz0.alert_note(ru-ru,VS.100).gifПримечание.

    Можно либо осуществить предварительную компиляцию элемента управления в сборку и поместить эту сборку в папку Bin, либо поместить исходный файл элемента управления в папку App_Code. При добавлении элемента управления в обе папки анализатор страниц не сможет разрешить ссылку на элемент управления на странице, в результате чего генерируется ошибка.

  4. Измените запись в разделе 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.

  5. Запрос страницы ASPX в веб-обозревателе.

При помещении исходных файлов для классов QuickContacts и ContactCollectionEditor, представленных в разделе Пример свойства-коллекции веб-элементов, в папку App_Code необходимо также добавить ссылку на сборку System.Design в разделе compilation файла Web.config. Для этой ссылки необходимо указать полное имя сборки System.Design. Можно получить сведения, необходимые для полного имени, запустив средство Программа глобального кэша сборок (Gacutil.exe), который поставляется в комплекте с SDK (пакет средств разработки программного обеспечения) для Windows, используя следующий синтаксис:

gacutil /l System.Design
az5kdaz0.alert_note(ru-ru,VS.100).gifПримечание.

Для запуска средства .Программа глобального кэша сборок (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>
az5kdaz0.alert_note(ru-ru,VS.100).gifПримечание.

При использовании интегрированной среды разработки конструктор может предоставлять более простой способ добавления ссылки на сборку в файл Web.config. Например, если в Visual Studio 2005 щелкнуть правой кнопкой мыши по имени веб-узла в обозревателе решений и нажать Добавить ссылку в контекстном меню, то можно использовать диалоговое окно, позволяющее выбрать сборку для добавления. При выборе сборки конструктор автоматически добавляет соответствующую запись в файл Web.config.

Показ: