Учебники

ASP.NET — клиентская часть

ASP.NET на стороне клиента имеет два аспекта:

  • Скрипты на стороне клиента : он запускается в браузере и, в свою очередь, ускоряет выполнение страницы. Например, проверка данных на стороне клиента, которая может отловить недопустимые данные и, соответственно, предупредить пользователя, не совершая двустороннюю передачу на сервер.

  • Исходный код на стороне клиента : страницы ASP.NET генерируют это. Например, исходный код HTML страницы ASP.NET содержит ряд скрытых полей и автоматически внедряемых блоков кода JavaScript, который хранит информацию, такую ​​как состояние просмотра, или выполняет другие задания, чтобы страница работала.

Скрипты на стороне клиента : он запускается в браузере и, в свою очередь, ускоряет выполнение страницы. Например, проверка данных на стороне клиента, которая может отловить недопустимые данные и, соответственно, предупредить пользователя, не совершая двустороннюю передачу на сервер.

Исходный код на стороне клиента : страницы ASP.NET генерируют это. Например, исходный код HTML страницы ASP.NET содержит ряд скрытых полей и автоматически внедряемых блоков кода JavaScript, который хранит информацию, такую ​​как состояние просмотра, или выполняет другие задания, чтобы страница работала.

Скрипты на стороне клиента

Все серверные элементы управления ASP.NET позволяют вызывать код на стороне клиента, написанный с использованием JavaScript или VBScript. Некоторые серверные элементы управления ASP.NET используют сценарии на стороне клиента для предоставления ответа пользователям без повторной отправки на сервер. Например, валидация контролирует.

Помимо этих сценариев элемент управления Button имеет свойство OnClientClick, которое позволяет выполнять сценарий на стороне клиента при нажатии кнопки.

Традиционные и серверные элементы управления HTML имеют следующие события, которые могут выполнять сценарий при их возникновении:

Событие Описание
ONBLUR Когда контроль теряет фокус
OnFocus Когда элемент управления получает фокус
по щелчку Когда элемент управления нажимается
по изменению Когда значение элемента управления изменяется
OnKeyDown Когда пользователь нажимает клавишу
OnKeyPress Когда пользователь нажимает буквенно-цифровую клавишу
OnKeyUp Когда пользователь отпускает ключ
при наведении мыши Когда пользователь наводит указатель мыши на элемент управления
onserverclick Это вызывает событие ServerClick элемента управления, когда элемент управления нажата

Исходный код на стороне клиента

Мы уже обсуждали, что страницы ASP.NET обычно пишутся в двух файлах:

  • Файл содержимого или файл разметки (.aspx)
  • Файл с выделенным кодом

Файл содержимого содержит теги и литералы элемента управления HTML или ASP.NET для формирования структуры страницы. Код за файлом содержит определение класса. Во время выполнения файл содержимого анализируется и преобразуется в класс страницы.

Этот класс вместе с определением класса в файле кода и сгенерированным системой кодом вместе создает исполняемый код (сборку), который обрабатывает все опубликованные данные, генерирует ответ и отправляет его обратно клиенту.

Рассмотрим простую страницу:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" 
   Inherits="clientside._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

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

   <head runat="server">
      <title>
         Untitled Page
      </title>
   </head>
   
   <body>
      <form id="form1" runat="server">
      
         <div>
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>  
            <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Click" />
         </div>
         
         <hr />
         
         <h3> <asp:Label ID="Msg" runat="server" Text=""> </asp:Label> </h3>
      </form>
   </body>
   
</html>

Когда эта страница запускается в браузере, опция «Просмотр источника» отображает HTML-страницу, отправленную браузеру во время выполнения ASP.Net:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
<html xmlns="http://www.w3.org/1999/xhtml" >

   <head>
      <title>
         Untitled Page
      </title>
   </head>
   
   <body>
      <form name="form1" method="post" action="Default.aspx" id="form1">
      
         <div>
            <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" 
               value="/wEPDwUKMTU5MTA2ODYwOWRk31NudGDgvhhA7joJum9Qn5RxU2M=" />
         </div>
 
         <div>
            <input type="hidden" name="__EVENTVALIDATION"  id="__EVENTVALIDATION" 
               value="/wEWAwKpjZj0DALs0bLrBgKM54rGBhHsyM61rraxE+KnBTCS8cd1QDJ/"/>
         </div>

         <div>
            <input name="TextBox1" type="text" id="TextBox1" />  
            <input type="submit" name="Button1" value="Click" id="Button1" />
         </div>

         <hr />
         <h3><span id="Msg"></span></h3>
         
      </form>
   </body>
</html>

Если вы правильно выполните код, вы увидите, что первые два тега <div> содержат скрытые поля, в которых хранится информация о состоянии просмотра и проверке.