ASP.NET

ASP.NET AJAX: используем закладки и браузерную кнопку 'Назад'

AJAX-приложения предоставляют более интерактивные пользовательские интерфейсы , путем замены традиционных полноценных постбэков более плавными и эффективными частичными постбэками. Данные частичные постбэки выполняются в браузере асинхронно при помощи кода JavaScript. Когда пользователь нажимает на ссылку либо отсылает форму (посредством полноценного постбэка), браузер автоматически добавляет страницу в браузерную историю. Это позволяет пользователю использовать кнопки Back (Назад) и Forward (Вперед) для того, чтобы передвигаться по данной истории. Тем не менее, частичные постбэки, исполняемые AJAX-приложениями, не заставляют браузер регистрировать что-либо в истории. Как следствие, если пользователь посещает страницу, использующую AJAX, выполняет несколько частичных постбэков, и затем нажимает кнопку Back (Назад), то он не будет возвращен на страницу, отображенную до последнего постбэка. На самом деле, он будет возвращен на страницу, которая была отображена до того, как была открыта данная страница, использующая AJAX.

Элемент управления Timer в ASP.NET AJAX Framework

Элемент управления Timer, который является главной темой данной статьи, вызывает постбэк каждый раз, как пройдет какое-то определенное количество миллисекунд. Элемент управления Timer необходим тогда, когда намнужнообновить часть экрана через какое-то определенное время. Например, многие финансовые веб-сайты предоставляют котировки акций, которые периодически обновляются. До появления технологии AJAX, обновление котировок означало обновление всего документа, что в результате дало бы мигание экрана и необходимость перезагрузки всего содержимого страницы (даже если изменилась всего одна котировка). Используя технологию AJAX мы можем заставить страницу асинхронно связываться с сервером для получения новых котировок каждые n миллисекунд и плавно обновить котировки на экране. Элемент управления Timer, а также UpdatePanel, делают реализацию такого механизма очень простой.

ASP.NET AJAX: Клиентский объект PageRequestManager

ASP.NET AJAX Framework также включает в себя богатую клиентскую библиотеку и модель событий, что позволяет разработчикам создавать и выполнять клиентские скрипты и даже обработчики которые включены в ASP.NET AJAX Framework. Данная статья начинает исследование разработки клиентской части при помощи ASP.NET AJAX Framework. В частности, она исследует объект клиентской стороны PageRequestManager, который включает в себя методы и события привязанные к механизму частичного постбэка. Короче говоря, мы можем использовать объект PageRequestManager для того, чтобы выполнить скрипт клиентской стороны сразу же после частичного постбэка.

Визуальный фидбэк в ASP.NET AJAX с помощью элемента управления UpdateProgress

Microsoft ASP.NET AJAX Framework помогает разработчикам в создании более интерактивных веб-страниц путем ускорения механизма постбэка. В традиционных веб-страницах, полный постбэк подразумевает повторный запрос всей страницы, которая потом заново обрабатывается. Эта обработанная разметка возвращается во всей полноте, чтобы браузер отобразил ее. Технологии Ajax упрощают работу пользователя посредством использования частичных постбэков двумя путями: во-первых, частичный постбэк является асинхронным, тем самым подразумевая то, что пользователь может работать со страницей, одновременно ожидая завершения частичного постбэка; во-вторых, что более важно, меньше информации передается между клиентом и сервером, так как частичный постбэк обновляет только конкретную часть (область) страницы, что предоставляет более быстрое и гладкое взаимодействие.

Использование UpdatePanel в ASP.NET AJAX

При помощи UpdatePanel создание интерактивных пользовательских интерфейсов так же легко осуществить, как перетащить и оставить элемент. Просто добавьте UpdatePanel на страницу и, находясь в его пределах, добавьте те элементы управления, которые вы хотите сделать участниками частичного постбэка. При правильном расположении UpdatePanel любой постбэк, вызванный элементом управления в пределах UpdatePanel, трансформируется в частичный страничный постбэк. Так же, как и в случае с полным постбэком, частичный постбэк посылает запрос на сервер, но делает это, используя скрипт клиентской стороны. Более того, только та область в пределах UpdatePanel, которая обрабатывается, обновляется при помощи JavaScript и получает результат в виде HTTP разметки. Если вкратце, частичные постбэки придают странице эффект быстроты. Между клиентом и сервером перемещается меньше информации, и страница плавно обновляется - эффект обновления страницы, присущий обычным постбэкам, отсутствует.

Основы AJAX и начало работы с Microsoft ASP.NET AJAX Framework

За последние несколько лет веб-разработчики начали использовать JavaScript для того, чтобы делать такие асинхронные постбэки к веб-серверу, которые передают и принимают только необходимую информацию; эти технологии, как правило, называют AJAX. Если верно реализовать веб-приложения, использующие AJAX, они предлагают достаточно интерактивный пользовательский интерфейс, и его отзывчивость может составить конкуренцию системным приложениям. Популярные веб-приложения, такие как социальный новостной сайт, как Digg и GMail, являются ключевыми примерами технологии AJAX в действии.

Введение в AJAX и Atlas c использованием ASP.NET 2.0

Веб-приложения оставляют желать лучшего, так как еще не совсем совершенны, в основном из-за цикла "запрос\ответ". Любое взаимодействие со страницей обычно требует postback к веб-серверу ("запрос"), которое впоследствии производит необходимую работу на сервере и возвращает разметку обновленной страницы ("ответ"). За пределами приложений интрасети такое поведение добавляет небольшую задержку во время взаимодействия со страницей. Одним из способов улучшения процесса является использование AJAX. AJAX - это метод для использования JavaScript и объекта XMLHttpRequest для того, чтобы создать легковесные HTTP - запросы на веб-сервер из скрипта клиентской части. Как только ответ был принят, внешний вид страницы может быть плавно обновлен , используя JavaScript для пересылки странице настроек Document Object Model (DOM) и CSS. Страницы, использующие AJAX, предусматривают быструю и отзывчивую работу, тем самым, делая веб-приложения похожими на системные приложения.

Скрипт-инъекции с использованием ASP.NET

Атаки, использующие скрипт-инъекции, происходят, когда хакер заполняет одно или более полей вредоносным программным кодом и затем сабмитит форму. Если данный вредоносный код не обработан и сохранен в базе данных, он может вызывать надоедливые предупредительные сообщения о нежелательном удалении базы данных, либо получении доступа к информации базы данных. Основной техникой атаки скрипт-инъекцией является отсылка содержимого страницы, включающего в себя теги. Эти теги могут быть <script>, <iframe>, <applet> и т.д.

Динамическая загрузка мастер-страниц в ASP.NET 3.5

Вы можете динамически связать различные мастер-страницы со страницей сайта. Это необходимо в двух ситуациях. Во-первых, вы можете разрешить пользователям вашего сайта настраивать внешний вид вашего сайта путем загрузки различных мастер-страниц. Таким образом, вы можете отобразить меню мастер-страниц и позволить вашим пользователям выбирать наиболее понравившийся дисплей сайта. Другой ситуацией, в которой динамическая загрузка мастер-страниц может оказаться полезной, является ко-брэндинг. Представьте, что вашей компании необходимо сделать такой сайт, который бы выглядел как партнерский. Вы не хотите, чтобы пользователи знали, что их переадресовали на другой сайт, когда они ссылаются на ваш сайт с партнерского веб-сайта. В этом случае вы можете осуществить такую иллюзию путем динамической загрузки различных мастер-страниц, основанных на строке запроса, высланной с партнерского веб-сайта.

Краткий обзор валидации в ASP.NET 3.5

Многие веб-приложения включают в себя пользовательский ввод данных. При этом неприятным фактом является следующая пользовательская ошибка: пропуск обязательных полей, вводят 6 цифр номера телефона, и они возвращают в ваше приложение любую неверно форматированную информацию. Работа вашей базы данных может быть засорена искаженной информацией, и заказы могут быть потеряны. Неправильно введенный номер кредитной карточки или пропуск адреса может служить причиной упущения возможности сбыта. К счастью, вы можете написать такой код, который будет проверять пользовательский ввод ещё до того, как какая-либо опасная информация приблизится к коду вашей базы данных. Процесс проверки пользовательского ввода называется контролем данных (валидацией). Обычно написание надежного кода проверки данных требует большого количества времени и усилий. Вам необходимо проверить каждое поле и создать подпрограммы, обеспечивающие целостность данных. Если была найдена неверная информация, то вы должны вывести сообщение об ошибке, чтобы пользователь знал, что она существует, а также как исправить ее.

Доступ к базе данных из ASP.NET

Доступ к базам данных из прикладных программ ASP.NET является одной из современных методик представления данных посетителям Web сайтов. ASP.NET делает это проще чем её предшественники, особенно при обращениях к базам данных, и обеспечивает поддержку управления данными в базе. В целях обеспечения высокой эффективности таких приложений, рекомендуется использование баз данных, поддерживающих SQL запросы и работающие с приложениями Web серверов. Поэтому, обращение к SQL базам данных будет первой нашей задачей.

Управление состоянием в ASP.NET

С момента появления Web одной из главных проблем разработчиков стала задача сохранения данных веб-приложения между запросами пользователей, поскольку протокол HTTP по своей природе является протоколом без состояния (stateless). Существуют различные подходы к решению этой задачи. В данной статье рассмотрены механизмы, реализованные в ASP.NET.

ASP.NET: Очищаем HTML от лишних знаков

Однажды посмотрев HTML-документ, генерируемый ASP.NET и содержащий GridView, я заметил, что большое количество символов, содержащихся на странице - пробелы и знаки табуляции. Очевидно, ASP.NET щедро расставлял их, где только можно. Конечно, избавиться от лишних килобайтов HTML-документа можно, воспользовавшись библиотеками, которые сжимают HTML-документы при помощи различных алгоритмов. Но такой метод заставит сервер сначала сжать генерируемый HTML-документ, а браузеру пользователя придется распаковывать пришедший ему документ.
Я же хочу в своей статье предложить способ как избавиться от различных ненужных символов, которые содержатся на страницах. Этот способ основан на использовании сборки HTTPModule.

Знакомство с ASP.NET 2.0

Каждый раз, разрабатывая проект и создавая Web-приложение, пользуются различными средствами для создания архитектуры приложения, редактирования кода и публикации результатов своего труда на Web-сервере. При этом для конечного пользователя Web-приложение любой сложности остается набором HTML-страниц, каждая из которых имеет свой уникальный URL. По большом счету, пользователю нет дела до того на какой платформе или с использованием какой технологии создано приложение. У пользователя есть цель, которую он хочет достичь и универсальное средство, практически любой используемый им Web-браузер. В этом заключено огромное преимущество приложений для Internet по сравнению с приложениями для настольных систем – существование общепринятого «языка общения», HTML кода. Для того, чтобы развернуть Web-приложение достаточно установить его на сервер, после чего приложение может быть доступно любому клиенту с установленным Web-браузером. К сожалению, здесь тоже существует очевидная проблема в обработке HTML кода браузерами разных производителей.

Аутентификация в ASP.NET

Большинство web-сайтов работают в режиме анонимного доступа. Они содержат информацию, которую могут просматривать все желающие, и поэтому не проводят аутентификацию пользователей. Web-приложения ASP.NET предоставляют анонимный доступ к серверным ресурсам посредством назначения учетной записи анонимному пользователю. По умолчанию учетная запись для анонимного доступа имеет имя в виде IUSER _ имя компьютера.