|
|
|
ASPX-файл является, по сути, обычным HTML, в котором можно использовать специальные теги. Дополнитеьные теги делатся на две категории: служебные, задающие параметры страницы и позволяющие внедрять код, и теги контролов, которые представляют собой новые интерфейсные конструкции, настройка которых инкапсулирована в тег.
Первому типу принадлежат серверные директивы, теги <%= %>, <% %>,<%# %>, <script runat="server">...</script>. Сначала рассмотрим директивы. Их синтаксис имеет вид
<%@ Directive %>
|
Базовой директивой является @ Page, которая описывает основные параметры страницы, такие как файл с исходным текстом, язык кода, параметры трассировки. Также используются директивы @ Import, @ Assembly, @ OutputCache и другие...
Теги <%= %> используются для выставки вычисляемых значений. Например, конструкция
<%= System.DateTime.Now %>
|
после компиляции будет вместо себя подставлять текущее время.
Теги <% %> позволяют вставлять код в страницу - то, что в основном используется в ASP и JSP. Например,
<%if (User.Identity.Name == "Admin")
{
%>
<a href="adminpage.htm">Перейти к странице администрирования<a>
<%
}
%>
|
отображает ссылку только для пользователя Admin.
Конструкция <%= %> является аналогом <%= %> для компонент с привязкой к данным. Они подставляют вместо себя значение, зависящее от текущего контекста данных. Приведем пример, который, однако, здесь подробно разобран не будет - привязка к данным будет обсуждена в отдельной главе.
<asp:Repeater id="lstData" runat="server" >
<ItemTemplate>
<%# (Container.DataItem as DateTime).ToShortDateString() %>
</ItemTemplate>
</asp:Repeater>
|
Также в страницу можно вставлять дополнительные методы с помощью тега <script runat="server">:
<script language="C#" runat="server" >
void SubmitBtn_Click( object sender, EventArgs e )
{
txtMessage.Text = "Hello, world";
}
</script>
|
Параметр language тега script задает язык, на котором он написан.
Теперь рассмотрим теги контролов - они позволяют вставлять в страницу различные элементы управления. Многие из вас сразу вспомнят про стандартные элементы управления вроде кнопок или полей ввода. На самом деле контролы ASP.NET могут представлять не только стандартные элементы, кодируемые одним HTML-тегом, но и довольно сложные DHTML-конструкции. При этом если при написании таких конструкций в обычном HTML вы получаете громоздкий и нерасширяемый код, то при использовании ASP.NET все это для вас инкапсулировано в одном теге. При этом код, который будет подставляться генерируется на сервере, что позволяет изменять его в зависимости, например, от типа броузера.
Теги серверных контролов допустимы только внутри серверных форм - конструкций вида <form runat="server"> ... </form>. Сами теги контролов пишутся в XML-стиле - с обязательным закрыванием и пространствами имен. Общий вид такого тега:
<пространство_имен:имя_тега runat="server" > ... </пространство_имен:имя_тега >
|
Пространства имен используются для того, чтобы случайно не совпали имена тегов. Стандартные элементы управления от Microsoft находятся в пространстве имен asp: <asp:Button />, <asp:TextBox /> и т.п.
Архитектура ASP.NET также позволяет самим создавать новые элементы управления, но об этом позже.
| << Предыдущая | Следующая >> |
| Контакт | Реклама на сайте | Спонсорам | Веб мастерам |
Лицензионное соглашение
- © 2000-2012 dotSITE
Хостинг .NET предоставлен
PARKING.RU
Поддержку сайта осуществляет Murano Software Inc., Offshore software development