Компонент платформы страниц ASP.NET Web Forms — это масштабируемая модель программирования общеязыковой среды выполнения, которую можно использовать для динамического создания веб-страниц. Компонент ASP.NET Page Framework представляет собой логическое развитие ASP (синтаксис, предоставляемый ASP.NET, совместим с существующими страницами), и он был специально разработан для устранения ряда критических недостатков более ранней модели. В частности, он предоставляет возможность создавать и использовать многократно используемые элементы управления пользовательского интерфейса, которые инкапсулируют общие функции, тем самым уменьшая объем кода, который приходится писать разработчикам страниц. Он позволяет разработчикам быть ясными и организованными. Он создает логику страницы (а не «запутанный код»); ); инструменты разработки, которые он использует, предоставляют мощные возможности поддержки дизайна страниц WYSIWYG (что видишь, то и получаешь) (существующий традиционный код ASP непрозрачен). В этой статье представлены некоторые базовые знания о функциях страниц ASP.NET.
Написание первой страницы ASP.NET
Страницы ASP.NET представляют собой текстовые файлы с расширением .aspx. Страницы состоят из кода и тегов, которые динамически компилируются и выполняются на сервере для создания отображаемого контента для запрашивающего клиентского браузера (или устройства). Их можно развернуть в дереве виртуальных каталогов IIS. Когда клиент браузера запрашивает ресурс .aspx, среда выполнения ASP.NET анализирует целевой файл и компилирует его в класс платформы .NET. Этот класс затем можно использовать для динамической обработки запроса (обратите внимание, что файл .aspx является только файлом). скомпилирован при первом обращении к нему, и экземпляр скомпилированного типа можно повторно использовать для нескольких запросов в будущем).
Нам не нужно изменять код в HTML-файле. Нам нужно только изменить его расширение на .aspx, чтобы создать страницу ASP.NET. Например, в следующем примере показана простая HTML-страница, которая собирает имя и категорию пользователя и отправляет форму обратно на исходную страницу, когда пользователь нажимает кнопку:
<form action="intro1_vb.aspx" метод= "post">
<h3> Имя: <input id="Name" type=text>
Категория: <select id="Категория" size=1>
<вариант>психология</вариант>
<вариант>бизнес</вариант>
<option>popular_comp</option>
</выбрать>
<тип ввода=отправить значение="Поиск">
</ч3>
</form>
Обратите внимание: при нажатии кнопки «Поиск» ничего не происходит. Это связано с тем, что файл .aspx содержит только статический HTML (без динамического содержимого). Таким образом, тот же HTML-код отправляется обратно клиенту, что приводит к потере содержимого поля формы (текстового поля и раскрывающегося списка).
Добавьте на страницу простой код.
Синтаксис, предоставляемый ASP.NET, совместим со страницей ASP. Он поддерживает блоки рендеринга (рендеринга) кода <% %>, которые можно смешивать с содержимым HTML в файлах .aspx. Эти блоки кода будут строго выполняться при отображении страницы.
В следующем примере показано, как использовать блоки рендеринга <% %> (каждый раз увеличивая размер шрифта) в HTML:
<form action="intro2_vb.aspx" метод="post">
<h3> Имя: <input id="Name" type=text>
Категория: <select id="Категория" size=1>
<вариант>психология</вариант>
<вариант>бизнес</вариант>
<option>popular_comp</option>
</выбрать>
</ч3>
<тип ввода=отправить значение="Поиск">
<р>
<% Dim I как целое число
Для I = от 0 до 7 %>
<font size="<%=I%>"> Добро пожаловать в ASP.NET </font> <br>
<%Следующий %>
</form>
Обратите внимание: блок кода <% %> в приведенном выше примере отличается от ASP тем, что он фактически компилируется, а не интерпретируется механизмом сценариев. Это повышает производительность выполнения во время выполнения.
Разработчики страниц ASP.NET могут использовать блоки кода <% %> для динамического изменения выходной информации HTML. Например, следующий код демонстрирует, как использовать блок кода <% %> для интерпретации результатов, отправленных клиентом:
<form action="intro3_vb.aspx">
<h3> Имя: <input name="Name" type=text value="<%=HttpUtility.HtmlEncode(Request.QueryString("Name"))%>">
Категория: <select name="Категория" size=1>
<%
Тусклый I как целое число
Тусклые значения(2) в виде строки
Значения(0) = "психология"
Значения(1) = "бизнес"
Значения(2) = "popular_comp"
Для I = 0 To Values.Length - 1
%>
<% If (Request.QueryString("Категория") = Значения(i)) %>
<вариант выбран>
<% Еще %>
<вариант>
<%Конец Если %>
<%=Значения(i)%>
</опция>
<%Следующий %>
</выбрать>
</ч3>
<тип ввода=отправить имя="Поиск" значение="Поиск">
<р>
<% If (Not Request.QueryString("Lookup") = Ничего) %>
Привет <%=HttpUtility.HtmlEncode(Request.QueryString("Name")) %>, вы выбрали: <%=HttpUtility.HtmlEncode(Request.QueryString("Категория")) %>
<%Конец Если %>
</form>
Обратите внимание: хотя блоки кода <% %> предоставляют нам мощный способ настройки текстовой информации, возвращаемой страницами ASP.NET, они не обеспечивают четкой модели программирования HTML. Приведенный выше пример показывает, что разработчики, которые используют только блок кода <% %>, должны самостоятельно управлять состоянием страницы и перехватывать отправляемые значения.