Пошаговое руководство. Использование общего кода на веб-узлах в Visual Web Developer
Обновлен: Ноябрь 2007
При создании веб-узлов Visual Web Developer позволяет создавать общий код в файлах класса, которые затем можно использовать в страницах приложения без компиляции файлов класса.
Примечание. |
---|
При наличии существующих сборок (файлов .dll) их можно добавить в каталог веб-узла Bin. Затем веб-узел автоматически выполнит ссылку на них. |
В данном пошаговом руководстве описывается создание простого класса и его использование в веб-странице ASP.NET.
В данном пошаговом руководстве представлены следующие задачи:
Добавление класса на веб-узел.
Настройка Visual Web Developer для автоматического выполнения ссылок на компоненты.
Обязательные компоненты
Для выполнения инструкций данного пошагового руководства необходимы следующие компоненты.
Visual Web Developer (Visual Studio).
Платформа .NET Framework.
В данном пошаговом руководстве предполагается, что пользователь знаком с методами работы в Visual Web Developer. Общие сведения см. в разделе Пошаговое руководство. Создание базовой веб-страницы в Visual Web Developer.
Создание веб-узла и страницы
Если веб-узел в Visual Web Developer уже создан при выполнении руководств Пошаговое руководство. Создание базовой веб-страницы в Visual Web Developer или Пошаговое руководство. Создание локального веб-узла IIS в Visual Web Developer, то можно использовать этот веб-узел и перейти к следующему разделу. В противном случае создайте новый веб-узел и страницу, выполнив следующие действия.
Создание веб-узла на базе файловой системы
Откройте Visual Web Developer.
В меню Файл выберите команду Создать веб-узел. (В выпуске Visual Web Developer, экспресс-выпуск в меню Файл последовательно выберите пункты Создать и Веб-узел.)
Откроется диалоговое окно Создать веб-узел.
В группе Установленные шаблоны Visual Studio выберите Веб-узел ASP.NET.
В поле Расположение введите имя папки, в которой будут храниться страницы веб-узла.
Пример.
Если веб-узел создается в файловой системе, введите C:\SampleSite.
Если установлен пакет IIS, и создается веб-узел HTTP, введите https://localhost/SampleSite.
В списке Язык выберите язык программирования, с которым вы предпочитаете работать.
Нажмите кнопку OК.
Visual Web Developer создаст веб-узел и откроет новую страницу с именем Default.aspx.
Создание общего класса
Повторно используемые классы можно создавать, сохраняя их в папке App_Code. Visual Web Developer осуществляет мониторинг папки App_Code и при добавлении новых файлов класса делает компоненты доступными остальному коду приложения. Классы в папке App_Code по умолчанию компилируются в одну сборку во время выполнения.
Примечание. |
---|
В папку App_Code следует помещать только классы (и другие поддерживаемые общие типы). Не помещайте в папку App_Code страницы, пользовательские веб-элементы управления или другие файлы, содержащие некодовые элементы. |
Чтобы создать папку App_Code
В обозревателе решений щелкните правой кнопкой мыши имя веб-узла, выберите команду Добавить папку, а затем выберите элемент Папка App_Code.
Теперь компонент можно добавить к узлу.
Чтобы создать общий класс в папке App_Code
В обозревателе решений щелкните правой кнопкой мыши папку App_Code и выберите пункт Добавить новый элемент.
Примечание. Убедитесь, что элемент создается в папке App_Code, а не в корневой папке веб-узла.
Под заголовком Установленные шаблоны Visual Studio выберите Class.
В поле Имя введите SampleClass1.
В списке Язык выберите язык программирования веб-страницы, которая будет использовать общий класс.
Нажмите кнопку Добавить.
Visual Web Developer откроет новый файл класса в редакторе.
Создайте класс с одним свойством testString, скопировав следующий код в файл класса:
Public Class SampleClass1 private testStringValue As String Public Property testString as String Get return testStringValue End Get Set (Value as String) testStringValue = value End Set End Property End Class
using System; public class SampleClass1 { public SampleClass1() { } private string testStringValue; public string testString { get { return testStringValue; } set { testStringValue = value; } } }
Сохраните файл и закройте его.
Обратите внимание, что файл не сохраняется как скомпилированный.
Примечание. При работе с общими классами в папке App_Code не требуется сохранять компоненты для того, чтобы Visual Web Developer поддерживал ссылку на них. Если веб-страница и компонент созданы на одном языке программирования, то Visual Web Developer поддерживает ссылку на компонент в памяти. В этом случае файл закрывается, так как работа с ним закончена.
Использование общего класса
Следующим шагом является использование общего класса на веб-странице ASP.NET. Для этого можно использовать страницу Default.aspx, созданную вместе с веб-узлом.
Чтобы использовать общий класс
Откройте страницу Default.aspx или переключитесь к ней, а затем перейдите в представление конструирования.
Примечание. Если страница Default.aspx не существует, можно использовать другую страницу. Также можно добавить к веб-узлу новую страницу. Для этого в обозревателе решений щелкните правой кнопкой мыши имя веб-узла, выберите команду Добавить новый элемент, а затем выберите Форма Web Form. В списке Язык выберите тот же язык программирования, который использовался для компонента, а затем нажмите ОК.
Из папки Стандартные в панели элементов перетащите элементы управления TextBox, Label и Button на веб-страницу.
Примечание. Для данного пошагового руководства макет страницы не имеет значения.
Дважды щелкните элемент управления Button для создания обработчика его события Click.
Код обработчика щелчка может выглядеть следующим образом:
Protected Sub Button1_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles Button1.Click End Sub
protected void Button1_Click(object sender, EventArgs e) { }
Введите следующий код в обработчик:
Dim sc As New
SampleClass1 sc = new
При нажатии клавиши ПРОБЕЛ после ввода New или new Visual Web Developer выведет список доступных классов. Созданный в предыдущем разделе класс SampleClass1 также включен в список.
Завершите оператор, введя SampleClass1 или дважды щелкнув его в списке, чтобы оператор выглядел следующим образом:
Dim sc As New SampleClass1
SampleClass1 sc = new SampleClass1();
Нажмите клавишу ВВОД и введите следующую команду:
sc.
Сразу после ввода точки Visual Web Developer снова отобразит список элементов, призванный облегчить выбор элементов из класса примера.
Завершите оператор и разработчик следующим образом:
sc.testString = TextBox1.Text Label1.Text = sc.testString
sc.testString = TextBox1.Text; Label1.Text = sc.testString;
Сохраните файлы.
Тестирование страницы и класса
Веб-узел можно запустить, чтобы убедиться в том, что общий класс работает.
Чтобы проверить страницу и компонент
Откройте страницу Default.aspx.
Чтобы запустить страницу, нажмите сочетание клавиш CTRL + F5.
При появлении страницы в окне обозревателя введите любой текст в текстовом поле и нажмите кнопку.
Это задаст свойство в простом классе, который затем отобразится в элементе управления Label.
Если для просмотра каталога, в котором находится веб-узел, используется Проводник Microsoft Windows, то отобразится страница с папкой App_Code. Обратите внимание, что в папке App_Code и во всех корневых папках веб-узла не содержится файлов .dll или другого исполняемого кода. Visual Web Developer компилирует страницу и общий класс динамическим образом.
Следующие действия
Данное пошаговое руководство показывает способ добавления общих классов на веб-узел без компилирования компонентов. Общие классы можно использовать разными способами. Ниже перечислены некоторые возможности.
Работа с компилированным компонентом.
Если существует сборка, которую можно использовать на веб-узле, создайте папку Bin, а затем скопируйте в нее файл .dll. Затем на эту сборку можно точно так же ссылаться на странице, как и на компонент, созданный в данном руководстве.
Создание компонента для доступа к данным.
Дополнительные сведения см. в разделе Пошаговое руководство. Привязка данных к пользовательским бизнес-объектам.
Создание веб-службы.
Дополнительные сведения см. в разделе Пошаговое руководство. Создание и использование веб-службы ASP.NET в Visual Web Developer.