Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Л3 Серверные элементы управления.doc
Скачиваний:
8
Добавлен:
28.02.2016
Размер:
388.1 Кб
Скачать

Стандартные элементы управления asp.Net

Все зависит от типа браузера, который использует клиент.

Все серверные элементы управления находятся в пространстве имен System.Web.UI.Control и наследуются от класса System.Web.UI.Control. Все визуальные серверные элементы управления наследуются от класса System.Web.UI.WebControls.WebControl. Для примера рассмотрим элемент управления Label

Label

Этот элемент управления позволяет выводить отформатированный текст, аналогично обобщенному строчному элементу разметки <SPAN>. Всеми свойствами этого объекта можно управлять из вашей программы ASP .NET.

Большинство методов и свойств унаследовано от WebControl. Главное собственное свойство - это, конечно, его содержание - Text.

Нижеперечисленные свойства управляют внешним видом элемента, присутствуют в классе WebControl и, следовательно применимы ко всем элементам-наследникам WebControl, а не только к Label.

BackColor

Цвет фона

BorderColor

Цвет границы элемента управления

BorderStyle

Стиль границы - сплошной, пунктир, точечный, двойной и другие

BorderWidth

Ширина границы

Enabled

Активность. Если false, нельзя вводить данные, не получает фокус

Font

Шрифт, состоит из нескольких атрибутов

ForeColor

Цвет, которым отображается текст

Height

Высота элемента

Width

Ширина элемента

Visible

Виден ли элемент управления

TabIndex

индекс табуляции, в порядке номеров которых в форме перемещается фокус при нажатии на клавишу Tab

ToolTip

текст окошка подсказки

В версии 2.0 появилась возможность задавать для элементов управления горячие клавиши, или клавиши быстрого доступа. Свойство AccessKey определяет последовательность нажатых клавиш, которые приводят к установке фокуса на данном элементе. Например, AccessKey="N" значит, что для вызова функциональности надо нажать на Alt+ N. Установить фокус в Label невозможно, поэтому устанавливаем свойство AssociatedControlId, который указывает на другой элемент. Если это TextBox, то фокус устанавливается в него.

Пример описания элемента Label:

<asp:Label id="ShopNews" runat="server" Font-Size =20 ForeColor="red"

BackColor ="lightgray" BorderWidth=4 BorderStyle=groove Height=50 width=500>

Новости торговой площадки </asp:Label>

Префикс asp: означает, что данный элемент стандартный. Можно создавать собственные контролы со своими префиксами. Текст между открывающим и закрывающим тегами будет показан на странице. Это содержание его свойства Text.

Так как Text - это такой же атрибут, как и другие, мы можем написать по-другому:

<asp:Label id="ShopNews" runat="server" Font-Size =20 ForeColor="red"

BackColor ="lightgray" BorderWidth=4 BorderStyle=groove Height=50 width=500

Text= "Новости торговой площадки" />

Вставим это описание в страницу aspx.

<html xmlns="«http://www.w3.org/1999/xhtml»">

<head>

<title>Торговая площадка</title>

</head>

<body>

<center>

<h2>

Демонстрация метки</h2>

<br />

<form id="frmDemo" runat="server">

<asp:Label ID="ShopNews" runat="server" Font-Size="20" ForeColor="red" BackColor="lightgray"

BorderWidth="4" BorderStyle="groove" Height="50" Width="500" Text="Новости торговой площадки" />

</form>

</center>

</body>

</html>

и наслаждаемся эффектом. Надпись красного цвета на сером фоне. Стиль границы делает метку приподнятой над фоном.

У Label, как и у всех остальных классов, есть конструктор. Это значит, что создать его можно прямо в программе, а не прописывать на форме.

<%@ Page Language="C#" %>

<%@ Import Namespace= "System.Drawing" %>

<script runat="server">

void Page_Load()

{

Label ShopNews = new Label();

ShopNews.Text = "Новости торговой площадки";

ShopNews.Font.Size=20;

ShopNews.ForeColor=Color.Red;

ShopNews.BackColor=Color.LightGray;

ShopNews.BorderWidth=4;

ShopNews.BorderStyle=BorderStyle.Groove;

ShopNews.Height=50;

ShopNews.Width=500;

frmDemo.Controls.Add(ShopNews);

}

</script>

<html xmlns=«http://www.w3.org/1999/xhtml» >

<head>

<title>Торговая площадка</title>

</head>

<body>

<center>

<h2>Демонстрация метки</h2><br />

<form id="frmDemo" runat="server">

</form>

</center>

</body>

</html>

Обратите внимание на директиву <%@ Import Namespace= "System.Drawing" %>. Директива импорта нужна, чтобы обращаться к перечислению Color названий цветов, определенному в System.Drawing.

Посмотрим, что выдал ASP .NET браузеру. Вот код HTML, относящийся к нашей метке:

<form name="frmDemo" method="post" action="shop.aspx" id="frmDemo">

<div>

<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTEzODAzNzU2NDZkZH95eciStELThSpcgXVWEFYeQxpR" />

</div>

<span id="ShopNews" style="display:inline-block;color:Red;background-color:LightGrey;border-width:4px;border-style:Groove;font-size:20pt;height:50px;width:500px;"> Новости торговой площадки</span>

</form>

Как видим, ASP.NET превратил метку в элемент разметки <span>, задав ему стили CSS. В форме появился еще один невидимый элемент по имени =__VIEWSTATE, который мы скоро обсудим.