
- •Начальное руководство по разработкеweb-приложений и asp.Net.
- •Разработка web-приложений и asp.Net
- •Web-приложения и web-серверы
- •Что такое виртуальные каталоги?
- •Структура документа html
- •Форматирование текста средствами html
- •Заголовки html
- •Html-редактор Visual Studio.Net
- •Разработка форм html
- •Создаем пользовательский интерфейс
- •Добавление изображений
- •Клиентские скрипты
- •Пример клиентского скрипта
- •Реализация проверки введенных пользователем данных
- •Передаем данные формы (методы geTиPost)
- •Синтаксис строки запроса http
- •Создание классической страницы asp
- •Принимаем данные, переданные методом post
- •Первое приложение asp.Net
- •Некоторые проблемы классических asp
- •Некоторые преимущества asp.Net
- •Пространства имен asp.Net
- •Наиболее важные типы пространства имен System.Web
- •Приложение и сеанс подключения пользователя
- •Создание простого web-приложения на с#
- •Исходный файл *.Aspx
- •Файл web.Config
- •Исходный файл Global.Asax
- •Простой код asp.Net на с#
- •Архитектура web-приложения asp.Net
- •Тип System.Web.Ui.Page
- •Связка *.Aspx/Codebehind
- •Свойство Page. Request
- •Свойство Page.Response
- •Свойство Page.Application
- •Отладка и трассировка приложений asp.Net
- •Элементы управления WebForm
- •Создание элементов управления WebForm
- •Иерархия классов элементов управления WebForm
- •Виды элементов управления WebForm
- •Базовые элементы управления WebForm
- •Группа переключателей
- •Текстовое поле для ввода нескольких строк с полосой прокрутки
- •Элементы управления с дополнительными возможности
- •Элемент управления Calendar
- •Элемент управления AdRotator (баннерная рулетка)
- •Элемент управления для работы с источниками данных
- •Элемент управления DataGrid
- •Еще немного об источниках данных
- •Элементы управления для проверки вводимых пользователем данных
- •Обработка событий элементов управления WebForm
- •Подведение итогов
- •Web-cлужбы
Клиентские скрипты
Одной из больших проблем для множества web-приложений является необходимость вновь обращаться с повторными запросами на web-сервер для внесения изменений в то, что показывается пользователю в окне браузера. Конечно, во многих случаях такие обращения неизбежны, но если есть возможность сократить их количество, то этой возможностью надо пользоваться. Один из способов сократить количество запросов на web-сервер заключается в применении клиентских (брау-зерных) скриптов, например, для проверки введенных пользователем данных перед передачей этих данных на сервер.
Например, в нашей ситуации пользователю необходимо ввести имя пользователя и пароль для аутентификации. Если какое-либо из полей останется незаполненным, аутентификация все равно не произойдет. Поэтому вполне можно сделать так, чтобы пользователь не мог отправить данные на сервер, не заполнив оба поля. Конечно, в этой ситуации только кодом HTML нам не обойтись: HTML — это язык разметки, а не программирования. Для того чтобы реализовать проверку введенных пользователем данных, нам придется использовать какой-либо из языков для работы со скриптами.
Существует множество языков для работы со скриптами, но для скриптов, выполняющихся в браузерах, подойдут далеко не все. Internet Explorer поддерживает два языка: VBScript (диалект Visual Basic для работы со скриптами) и JavaScript, a Netscape Navigator — только JavaScript. Если мы можем гарантировать, что клиенты нашего приложения будут использовать только Internet Explorer, можно использовать любой из языков для работы со скриптами. Но на обычных web-сайтах, открытых для доступа самых разных клиентов, как правило, используется только один язык для браузерных скриптов —JavaScript.
JavaScript — очень популярный язык скриптов, который де-факто является стандартом для создания браузерных скриптов. Сразу заметим, что JavaScript никоим образом не является частью языка Java. JavaScript — это совершенно отдельный язык программирования, который предназначен для решения специальных задач и в котором предусмотрено гораздо меньше возможностей, чем в Java. JScript — это название реализации JavaScript от Microsoft.
Пример клиентского скрипта
Как правило, клиентские скрипты выполняются в ответ на события графических элементов HTML. Как же происходит перехват таких событий? Проще всего показать это на примере.
Предположим, что мы работаем с очень простой web-страницей, представленной на рис. 14.17. Единственная кнопка на этой странице будет называться testBtn (проще всего присвоить это имя из свойств кнопки). Чтобы настроить перехват события, возникающего при нажатии этой кнопки, перейдем в режим просмотра HTML и выберем нашу кнопку в левом ниспадающем списке. Затем в правом списке выберем для этой кнопки событие onclick (рис. 14.18)
Рис. 14.17. Новая страница HTML
Рис.
14.18.
Перехват событий элементов управления
HTML
Выполнив эти действия, мы сможем обнаружить в коде HTML следующие изменения:
<HTML>
<HEAD>
<TITLE></TITLE>
<МЕТА NAME="GENERATOR" Content="Microsoft Visual Studio">
<META HTTP-EQUIV="Content-Type" content="text/html">
<Script ID=clientEventHancnerJS language=javascript>
<!-
function testBtn_onclick { }
//->
</script>
</HEAD>
<BODY>
<p align = center>
<font size = 5>Here is a single button which responds to clicks...</font></p> <p align = center>
<input id=testBtn type=button value=Button name=testBtn language=javascript onclick="return testBtn_onclick()"/>
/BODY> /HTML>
Как мы видим, на нашей странице в разделе <head></head> появился блок <script>, для которого в качестве используемого языка указан JavaScript. Обратите внимание, что сам код скрипта помещен в блок комментария HTML. Причина понятна — если страница будет открыта в браузере, который не поддерживает JavaScript, то этот код будет воспринят как комментарий и проигнорирован.
Обратите также внимание, что в теге для нашей кнопки появился новый атрибут onclick, который ссылается на метод JavaScript. В результате при нажатии на эту кнопку будет вызван этот метод. Сильно усложнять содержание метода мы не будем, и для наших целей его код будет таким:
<script id = clientEventHandlersJS language = javascript>
<!-
function testBtn_onclick()
{
// Аналог MessageBox в JavaScript
Alert(“Hey, stop clicking me...")
}
//->
</script>
При нажатии на кнопку мы получим окно сообщения, представленное на рис. 14.19.
Рис. 14.19. Окно оповещения (alert) Internet Exlorer