
- •16 Билет: Элементы управления MultiPage и TabStrip как элементы, характерные для UserForm. Их свойства и события.
- •Value — номер вкладки, которая открыта в настоящий момент (нумерация начинается с 0).
- •Объекты TabStrip
- •Разработка с помощью элемента управления MultiPage
- •Объекты MultiPage
- •Поведение MultiPage
Поведение MultiPage
Объектная модель компонентов в Internet Explorer 5.5 и более поздних версиях обеспечивает определение настраиваемых элементов XML. Такие настраиваемые элементы называются поведениями элементов. Поведение элементов можно определить с помощью файла компонента HTML (HTC-файла), содержащего скрипт, который определяет поведение настраиваемого элемента.
При определении поведения элемента компонент сценария может определить только поведение одного элемента. При этом пользовательский интерфейс MultiPage реализуется с помощью двух различных элементов: MultiPage и PageView. Так как реализация поведения MultiPage использует один HTC-файл, подчиненные элементы MultiPage фактически анализируются в качестве строкового содержимого.
В реализации поведения MultiPage скрипт HTC-файла анализирует элементы PageView, которые являются подчиненными элементами MultiPage, а затем создает соответствующий пользовательский интерфейс с помощью DHTML. Такой способ позволяет создавать различные типы элементов с помощью одного поведения элемента.
Объекты, предоставленные поведением MultiPage, можно настроить с помощью скриптов Microsoft JScript или Microsoft Visual Basic Scripting Edition (VBScript).
Объекты MultiPage ASP.NET
В отличие от поведений DHTML элементы управления ASP.NETмогут реализовывать любое количество элементов в одной сборке. Кроме того, для веб-элементов управления все элементы ASP.NET реализуются сборкой Microsoft.Web.UI.WebControls.dll, имя файла которой совпадает с пространством имен, используемым этими элементами. Таким образом, архитектура компонентов в платформе ASP.NET не допускает использования строковых элементов содержимого. Для управления объектами MultiPage в веб-форме ASP.NETможно использовать любой язык среды CLR.
Создание простого элемента MultiPage
В этом разделе приведены пошаговые указания по созданию простого элемента MultiPage. Их можно выполнить в любом текстовом редакторе.
-
Если на компьютере не установлены веб-элементы управления, обратитесь к разделу Загрузка веб-элементов управления Internet Explorer для получения указаний по загрузке.
-
Создайте веб-приложение с помощью Microsoft Visual Studio. Веб-приложение должно называться webcontrols и может использоваться для всех примеров этой статьи. Примечание Возможно использование существующего веб-приложения, но для корректного функционирования веб-элементов управления необходимо настроить сеть в качестве веб-приложения.
-
Создайте пустую страницу веб-форм. Добавьте новый файл и сохраните его под именем multipage1.aspx.
-
Добавьте директиву import.
Укажите директиву import для веб-элементов управления в первой строке кода веб-формы. Она должна выглядеть следующим образом.
<%@ import namespace="Microsoft.Web.UI.WebControls" %>
Примечание В этом примере директива @ Import необязательна. Она необходима только при создании веб-форм, использующих серверный скрипт для создания или изменения объектов веб-элементов управления.
-
Добавьте директиву @ Register.
Укажите директиву @ Register для веб-элементов управления во второй строке кода веб-формы.
<%@ Register TagPrefix="mymultipage"
Namespace="Microsoft.Web.UI.WebControls"
Assembly="Microsoft.Web.UI.WebControls, Version=1.0.2.226, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>
-
Добавьте структуру документа.
Под директивой @ Register добавьте следующее содержимое для создания стандартной структуры документа.
<HTML>
<HEAD></HEAD>
<BODY></BODY>
</HTML>
-
Добавьте элемент Form.
Все веб-элементы управления следует создавать в элементе FORM. Добавьте в элемент BODYследующую разметку.
<BODY>
<FORM runat="server"></FORM>
</BODY>
Обратите внимание на то, что указан атрибут runat для элемента FORM, что указывает на необходимость обработки любого пользовательского ввода в ASP.NET.
Теперь веб-форма содержит все директивы для обработки, элементы и содержимое, необходимое для работы с веб-элементами управления. Файл multipage1.aspxдолжен содержать следующие данные:
<%@ import namespace="Microsoft.Web.UI.WebControls" %>
<%@ Register TagPrefix="mymultipage"
Namespace="Microsoft.Web.UI.WebControls"
Assembly="Microsoft.Web.UI.WebControls, Version=1.0.2.226, Culture=neutral, PublicKeyToken=31bf3856ad364e35" %>
<HEAD></HEAD>
<BODY>
<FORM runat="server"></FORM>
</BODY>
Сохраните страницу и просмотрите ее в браузере. Если все верно, то отобразится пустая страница. Страница компилируется перед просмотром, а все ошибки синтаксиса отображаются. При появлении ошибок исправьте их. Если приведенный пример кода не работает, то могут быть некорректно установлены веб-элементы управления.
Совет Любознательные читатели могут намеренно сделать ошибку в значении пространства имен или в атрибутах сборки, а затем сохранить и просмотреть страницу. Это полезное упражнение, так как оно позволяет понять способ вывода сообщений об ошибках в веб-формах.
-
Добавьте элемент MultiPage.
Добавьте элемент MultiPage в качестве подчиненного элемента FORM, а затем установите атрибут runat равным server.
<BODY>
<FORM runat="server">
<mymultipage:multipage runat="server"></mymultipage:multipage>
</FORM>
</BODY>
Сейчас элемент MultiPage не содержит ничего, поэтому на веб-странице ничего не отображается.
Примечание В префиксе тега элемента MultiPage значение mymultipage используется для всех веб-элементов управления на странице, так как оно было предварительно определено в директиве @ Register.
-
Добавьте элемент PageView в элемент MultiPage.
Затем добавьте два элемента PageView в качестве подчиненных элементов для MultiPage.
<mymultipage:multipage runat="server" selectedindex="1">
<mymultipage:pageview><p>Это страница 1</p></mymultipage:pageview>
<mymultipage:pageview><p>Это страница 2, и это представление выбрано!
</p></mymultipage:pageview>
</mymultipage:multipage>
Сохраните страницу и обновите ее в браузере. HTML-код во втором элементе PageViewнеобходимо отобразить, так как использовался атрибут SelectedIndex в элементе MultiPage.
Индексы отсчитываются от нуля, поэтому установка SelectedIndex равным 1 позволяет выбрать второе представление PageView для исходного отображения страницы.