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

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

Пользовательские элементы управления — это контейнеры, в которые можно поместить разметку и серверные веб-элементы управления. Пользовательский элемент управления затем можно рассматривать как единое целое и задавать для него свойства и методы.

Пользовательский элемент управления представляет собой небольшую часть страницы, которая может содержать статический HTML-код и стандартные элементы управления. В пользовательских элементах управления можно предусмотреть свои свойства, методы и события. Пользовательские блоки кода могут многократно использоваться на разных страницах, но только одного сайта. Для применения в другом сайте его либо нужно скопировать в этот сайт, либо создавать библиотечные специальные серверные элементы наподобие стандартных ( custom server control ).

Файл пользовательского элемента управления может содержать то же самое, что и файл обычной исполнимой страницы, включая файл поддержки .cs, статический HTML-код, стандартные элементы управления. Они получают те же самые события, что и объект Page, имеют доступ к таким важным объектам-свойствам, как Application, Session, Request, Response. Но есть и существенные отличия:

В отличие от страниц, файлы которых имеют расширение .aspx, пользовательские элементы управления должны храниться в файлах с расширением .ascx.

Объект страницы произведен от класса Page, а объект пользовательского элемента управления производится от класса UserControl. Но учитывая, что оба класса ( Page и UserConrol ) наследуют класс TemplateControl, они приобретают много одинаковых свойств и событий от этого класса.

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

Файл пользовательского элемента управления не является отдельной страницей, поэтому не должен содержать дескрипторы <html>, <head>, <body>, <form>

Вместо директивы @Page файл пользовательского элемента управления содержит директиву @Control

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

Заготовку пользовательского элемента управления легко создает мастер среды проектирования. Необходимо выполнить команду Website/Add New Item и выбрать шаблон Web User Control.

Мастер создаст файл .ascx, который содержит только одну строку директивы

<%@ Control Language=«C#» AutoEventWireup=«true» CodeFile=«Header.ascx.cs» Inherits=«Header» %>

Пользовательский элемент управления редактируется в оболочке точно также, как и обычная страница. Файл поддержки .ascx.cs содержит тот же код, что и для обычной страницы.

Использование элементов управления

Пример создания пользовательского элемента управления, который будет представлять собой простой верхний колонтитул страницы и состоять из статического HTML-текста.

Код:

<%@ Control Language=«C#» AutoEventWireup=«true» CodeFile=«Header.ascx.cs» Inherits=«Header» %>

<table width=«100%» border=«0» bgcolor=«blue»>

<tr>

<td>

<font face=«Vernada, Arial» size=«6» color=«yellow»>

<b>Тестовая страница User Control</b>

</font> </td>

</tr>

<tr>

<td align=«right»>

<font size=«3» color=«white»>

<b>Время создания: март 2007г. © Все права защищены</b>

</font> </td>

</tr>

</table>

Преобразование страниц веб-форм в пользовательские элементы управления ASP.NET

Для преобразования однофайловой веб-страницы ASP.NET в пользовательский элемент управления необходимо:

Переименовать элемент управления таким образом, чтобы файл получил расширение ASCX.

Удалить из страницы элементы html, body и form.

Изменить директиву @ Page на директиву @ Control.

Удалить все атрибуты директивы @ Control, кроме Language, AutoEventWireup (если есть), CodeFile и Inherits.

Включить в директиву @ Control атрибут className. Это позволит обеспечить строгую типизацию пользовательского элемента управления при его добавлении на страницу.

Пример преобразования однофайловой веб-страницы ASP в пользовательский элемент управления.

Странца aspx:

<%@ Page Language=«C#» %>

<html>

<script runat=server>

void EnterBtn_Click(Object sender, EventArgs e)

{

Label1.Text = «Hi » + Name.Text + " welcome to ASP.NET!";

}

</script>

<body>

<h3> <u>Web Forms Page</u> </h3>

<form>

Enter Name: <asp:textbox id=«Name» runat=server/>

<asp:button Text=«Enter» OnClick=«EnterBtn_Click»

runat=server/>

<br>

<br>

<asp:label id=«Label1» runat=server/>

</form>

</body>

</html>

Пользовательский элемент управления(ascx):

<%@ Control Language=«C#» ClassName=«SampleUserControl» %>

<h3> <u>User Control</u> </h3>

<script runat=server>

void EnterBtn_Click(Object Sender, EventArgs e)

{

Label1.Text = «Hi » + Name.Text + " welcome to ASP.NET!";

}

</script>

Enter Name: <asp:textbox id=«Name» runat=server/>

<asp:button Text=«Enter» OnClick=«EnterBtn_Click»

runat=server/>

<br>

<br>

<asp:label id=«Label1» runat=server/>

еще рефераты
Еще работы по информатике