Зарегистрировано: 318




Помощь  Карта сайта

О чем пишут?

Хачапури

Дальше..

Я так вижу!

NGC-4631 и NGC-4656

NGC-4631 и NGC-4656

NGC-4631(Селедка), NGC-4656(Клюшка). SW25012, Nikon D5100, MPCC. 19min. DSS, Iris, PS

Интересное кино..



Тексты. Прозариум

Тексты на сайте могут публиковаться как в составе книг, по которым они "разложены", так и по отдельности. Тексты можно публиковать на странице их владельца, в блогах, клубах или рубриках сайта, а так же в виде статей и объявлений. Вы можете публиковать на сайте не только собственные тексты, но и те, которыми хотите поделиться с читателями, соблюдая авторские права их владельцев.
Prozarium CMS | Реклама, сотрудничество | Разработка, продажа сайтов

Для добавления вашего собственного контента, а также для загрузки текстов целиком, загрузки текстов без разбиения на страницы, загрузки книг без разбиения на тексты, необходима авторизация. Если вы зарегистрированы на сайте, введите свой логин и пароль. Если нет, пожалуйста, пройдите регистрацию



Опубликовано в: Клуб: c#
<--Программирование
<--IT Информационные технологии
<--Бизнес по сферам деятельности
Сайт: Публичные рубрики

0





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

25.01.2011


Молчанов Владислав Васильевичhttp://wladm.narod.ru/C_Sharp/index.html

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

Аннотация:

  • В ASP.NET 2 альтернативой технологии AJAX стала технология ATLAS и использование клиентского диспетчера обратных вызовов. Однако, многих программистов отпугивает относительная сложность в их применении. И, кроме того, наличие множества старых наработок не так-то просто выбросить в корзину. В тоже время, как Вы убедитесь из приведенного ниже материала, ASP.NET отлично приспособлен для работы с AJAX.

  • В данном разделе приведены в подавляющей части эксклюзивные примеры, которые явились находками автора в его попытках соединить AJAX и ASP.NET.

  • В основу материала положены направления освоения тематики, предложенные в [1]. И, хотя книга Стивена Хольцнера заточена под PHP (язык, которому и автор отдал немало времени, когда он был в моде), я бы рекомендовал иметь ее настольной книгой и разработчикам ASP.Net. В ней глубоко рассматриваются вопросы именно JavaScript кодирования для Ajax. В силу того, что эти вопросы уже хорошо изложены в литературе, на них, в данном материале, обращается меньше внимания.

  • Литература

    В начало

    Глава 1. Технология AJAX - первый взгляд

    В начало

    Параграф 1. Введение в AJAX

    AJAX (Asynchronous JavaScript And XML - асинхронный JavaScript+XML), обозначает подход к созданию веб-приложений, при котором после первичного вызова Web страницы она получает возможность обмена данных с сервером и отображения данных без необходимости своей перегрузки.

    Это обеспечивают ряд механизмов, основной из которых - движок AJAX. Это посредник между браузером (загруженной в него страницей) и сервером, способный передавать данные серверу и принимать их от него. Окончательно этот механизм сформировался в 1998 году, когда в Internet Explorer 5.0 были внедрены новые ActiveX объекты, и, в частности, XMLHttpRequest объект. Именно XMLHttpRequest приобрел наибольшую популярность и поддержку в других браузерах (Mozilla Firefox, начиная с версии 1.0, Opera, начиная с версии 8.0, Safari...).

    Движок AJAX (XMLHttpRequest) производит необходимые запросы асинхронно, обычно при помощи XML, не прерывая взаимодействия пользователя с приложением. Ответ сервера - это либо текстовая строка, либо XML документ.

    Отсюда и последняя буква в названии технологии, хотя, абсолютно равно было бы и "T".

    XMLHttpRequest объект создается для страницы, именно как объект, в момент ее загрузки или при необходимости обмена данных с сервером. Созданный объект имеет свои методы и свойства, доступные коду JavaScript скриптов страницы. Вот основные:

    • open('Тип запроса "GET" или "POST"', "URL страницы", 'исполнение запроса - "True" - асинхронное исполнение', 'username', 'pasword') - создает запрос к серверу.

    • send('content') - отправляет запрос на сервер. В качестве значений может быть null или данные для запроса "POST" или пустая строка.

    • onreadystatechange - событие, возникающее при смене состояния объекта.

      • 0 - (uninitialized) - запрос не отправлен;

      • 1 - (loading) - объект инициализирован;

      • 2 - (loaded) - получен ответ от сервера;

      • 3 - (interactive) - соединение с сервером активно;

      • 4 - (complete) - объект завершил работу;

    • responseText - взять данные от сервера в виде строки.

    • responseXML - взять данные от сервера в виде XML;

    • status - свойство статус HTTP-ответа (например, 404 - страница не найдена на сервере).

    Повторимся, все свойства и методы объекта, доступны из JavaScript скриптов.

    Таким образом, AJAX, как ее трактуют сами разработчики, это несколько технологий, объединенных в новое направление:

    • стандартизованное представление данных с использованием XHTML и CSS;

    • динамическое отображение и взаимодействие при помощи DOM (Document Object Model);

    • обмен и управление данными через XML и XSLT;

    • асинхронные получение данных с использованием XMLHttpRequest;

    • JavaScript, как язык, связывающий всё компоненты.

    В начало

    Параграф 2. Простейшее использование

    Создадим сайт (с любым именем) и поместим на форму серверные контролы Button и Label (расположение контролов можно оформить по собственному усмотрению).Поместим в Page_Load следующий код:

    if (!IsPostBack){ Label1.Text = "Текст при первой загрузке страницы Default.aspx";}else{             Label1.Text = "Текст при перегрузке страницы";}

    Этот код будет сигнализировать о том, что страница не перегружается при использовании AJAX вызовов. Загрузим web сайт, текст в Label1 будет "Текст при первой загрузке страницы Default.aspx", нажимаем серверную кнопку - "Текст при перегрузке страницы". По смене текста будем судить о том, перегружалась или нет страница.

    Переходим к внедрению непосредственно элементов AJAX. В качестве первого примера возьмем широко используемый в сети и учебниках пример загрузку данных из текстового файла.

    Добавим на страницу Default.aspx еще один серверный контрол Label и Html контрол Input (Buton). Для события onclick запишем вызов некоторой функции getDataFromServer('datafile.txt', 'Label2') при нажатии кнопки. Задача функции - вывести данные в Label2 из файла без перегрузки страницы.

    <body>    <form id="form1" runat="server">    <table width="99%" border="1">  <tr><td>  <asp:Button ID="Button1" runat="server" Height="36px" Text="Серверная кнопка"           Width="250px" Font-Bold="True"/>  </td></tr>      <tr><td>    <asp:Label ID="Label1" runat="server" Text="Label 1"></asp:Label><br/>  </td></tr>   <tr><td>    <asp:Label ID="Label2" runat="server" Text="Сюда будем выводить текст"> <br/>  </td></tr>  <tr><td align="center"><font size ="+1">Ajax пример 1</font></td></tr>   <tr><td>        <input type = "button"  id="Button2" value = "Загрузить текст из текстового файла"         onclick = "getDataFromServer('datafile.txt', 'Label2')"/>      </td></tr>      </table>    </form></body>

    Запишем в файл datafile.txt текст:

    Этот текст записан в файле datafile.txt
    
                    
    			
  • 12345678