Технология создания web-приложений

Разработка ASP.NET приложения с использованием технологии AJAX. Платформа для создания, развертывания и запуска web-сервисов и приложений. Создание Web-страниц с внедренными в них фрагментами кода на скриптовых языках. Стандартные тэги и компиляция.

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык русский
Дата добавления 05.06.2012
Размер файла 154,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Введение

В мире программирования на данный момент существует технология создания web-приложений и web-сервисов от компании Майкрософт, которая называется ASP.NET.

ASP.NET приложение - это серверное приложение, которое отсылает клиенту-браузеру HTML разметку.

Протокол HTTP не позволяет сохранять состояние страницы, то есть, как правило, на событие (клик по ссылке или нажатие на кнопку) браузер реагировал отправкой запроса серверу. Когда с сервера приходил ответ, всё содержимое страницы полностью заменялось, что замедляло работу.

В настоящее время для упрощения и ускорения работы в интернете используется расширение ASP.NET приложений - технология AJAX.

С помощью этой технологии современные браузеры, поддерживающие стандарты W3C DOM, позволяют вывести web-приложение на новый уровень. Теперь эти приложения стали распределенными, т.е. часть логики находится на стороне клиента, а часть - на стороне сервера. Таким образом, после отправки запроса и получения ответа страница не заменятся полностью, а обновляется только ее часть, с теми данными, в которых клиент заинтересован в конкретный момент.

В настоящее время технология AJAX является основой для всех разработчиков web-приложений и необходима для быстрой работы в интернете, экономии трафика и для развития дальнейших технологий.

В данной курсовой работе описана разработка ASP.NET приложения с использованием технологии AJAX.

1. ASP.NET

Описание

Microsoft.NET Framework - это платформа для создания, развертывания и запуска web-сервисов и приложений, состоящая из трех основных частей - общеязыковой среды выполнения (common language runtime), иерархического множества унифицированных библиотек классов и компонентной версии Active Server Pages (ASP).

Основная идея ASP заключается в создании Web-страниц с внедренными в них фрагментами кода на скриптовых языках.

Новейшей версией технологии ASP является ASP.NET, ключевая в архитектуре Microsoft .NET Framework. Основное отличие этой технологии от ASP с точки зрения архитектуры приложений заключается в том, что код, присутствующий на web-странице, не интерпретируется, а компилируется и кэшируется, что, естественно, способствует повышению производительности приложений.

В основу ASP.NET положена работа в среде CLR, что позволяет создавать Web-приложения на любом языке, поддерживаемом платформой .NET, например, таких как Visual Basic, JavaScript или С#. Это немаловажное преимущество, так как теперь возможности одного языка могут использоваться в другом языке без необходимости написания дополнительного кода. Таким образом, достигается высокая степень повторного использования кода. Независимо от языка программирования, использованного при создании приложения ASP, его код компилируется в код на промежуточном языке IL.

Во время компиляции проверяется синтаксическая корректность исходного текста. Скомпилированный в промежуточный язык код выполняется быстрее, и он будет таким же независимо от языка, который мы используем. Компиляция происходит на сервере в момент первого обращения пользователя к странице. Если программист изменил текст страницы, программа перекомпилируется автоматически.

2. Объектная модель ASP.NET

ASP.NET является объектно-ориентированной моделью разработки Web-приложений. Сами ASP.NET-страницы являются объектами классов. Можно создавать программный код с возможностью его повторного использования классами. Эти классы можно использовать для создания экземпляров объектов.

Объектная модель -- это иерархия объектов, предоставляющих разработчикам определенные возможности. В ASP.NET используется новая структура Web-страниц, которая отличается от структуры ASP-страниц и обеспечивает поддержку объектной модели для сохранения содержимого ASP.NET-страницы. Добавлен новый класс элементов управления -- серверные элементы управления. Можно добавлять собственные комментарии и связывать эти данные с серверными элементами управления. Для оформления Web-страниц имеются наборы директив, которые предназначены для установки параметров. Например, параметры TraceContext и isEnabled позволяют, соответственно, включить и отключить механизм отслеживания Web-запросов.

ASP.NET определяет шесть внутренних объектов структуры страниц:

application;

ObjectContext;

response;

request;

server;

session.

Эти объекты встроены в модель ASP.NET-страниц и готовы к использованию.

В объекте application хранятся данные, которые будут доступны всем пользователям, одновременно работающим с Web-приложением.

Данные о сеансе работы каждого отдельного пользователя сохраняет объект session. Объект application используется для хранения глобальных переменных, которые содержат информацию, общедоступную для всех пользователей Web-приложения, например, приветственное сообщение или индекс посещения Web-страницы. Этот объект представляет собой коллекцию разнородных элементов. Пользователи совместно используют объекты Web-приложения, поэтому требуется гарантировать, что несколько пользователей не смогут одновременно изменять переменные, хранимые в объекте application. Для блокирования содержимого коллекции объектов от изменения применяется метод Lock, для разблокирования -- метод Unlock. Так же существуют методы Contents.Remove и Contents.RemoveAll, которые удаляют один элемент из семейства Contents или все сразу соответственно.

С помощью объекта ObjectContext выполняется фиксация или откат транзакций, управляемых MTS. Транзакции могут быть инициированы со страницы ASP.NET. Методы SetComplete и SetAbort объекта ObjectContext используются, соответственно, для фиксации и отката транзакций.

Объект response можно использовать для передачи выходной информации клиенту. Методы объекта respons:

AddHeader - устанавливает заголовок HTML имя равным значению.

AppendToLog - добавляет строку в конец записи журнала веб-сервера, относящейся к этому запросу.

BinaryWrite - записывает предоставленную информацию в текущий вывод HTTP без преобразования наборов символов.

Clear - стирает любой буферизованный вывод HTTP.

End - останавливает обработку файла .asp и возвращает текущий результат.

Flush - немедленно передает буферизованный вывод.

Redirect - отправляет обозревателю сообщение о перенаправлении, вызывая попытку обозревателя подключиться к другому URL.

Write - записывает переменную в виде строки в текущий вывод HTTP.

В объекте request сохраняется информация, отправляемая браузером клиента на сервер в HTTP-запросе. После обработки запроса с помощью объекта request пользователю отправляется ответная информация. С помощью метода BinaryRead объект request извлекает данные, передаваемые клиентом серверу, как часть запроса POST. Объект server позволяет получить доступ к свойствам и методам Web-сервера. С помощью метода СreateObject можно создать экземпляр объекта server, Execute - выполняет файл .asp. Так же существует возможность сопоставляения указанного виртуального пути с физческим путем - это делает метод MapPath. А Transfer передает всю информацию о текущем состоянии другому файлу .asp для обработки. Объект session используется для хранения информации о пользовательских сеансах. Значения переменных объекта session сохраняются, даже когда пользователь переходит на другую страницу Web-приложения. Этот объект создается при организации пользователем сеанса и уничтожается при его завершении. Например, в нём можно сохранять регистрационную информацию каждого пользователя, посещающего сайт виртуального магазина. Эта информация остаётся доступной для всего Web-приложения даже при переходе пользователя на другие Web-страницы сайта. Объект session использует три метода: Abandon для уничтожения объект session и освобождения его ресурсов, а Contents.Remove и Contents.RemoveAll для удаления одного элемента или всех элементов из семейства Contents соответственно. Каждый из внутренних объектов ASP.NET обладает набором методов и коллекций для управления функциональными возможностями этого объекта. Назначение и возможности внутренних объектов технологий ASP и ASP.NET практически идентичны.

3. Отделенный код

Модель отделенного кода (code-behind) ASP.NET предоставляет средства вынесения прикладного кода из HTML-разметки в файл отделенного кода. Эта модель подразумевает создание для каждой Web-страницы ASP.NET двух файлов: файла разметки (.aspx) с дескрипторами HTML и дескрипторами элементов управления, и файла кода (.cs) с исходным кодом страницы (при условии, что для программирования Web-страницы применяется язык C#). Такая модель обеспечивает более удобную схему организации, позволяя отделять пользовательский интерфейс от программной логики, что имеет очень важное значение при создании сложных страниц.

Для указания используемого класса в странице .aspx применяется атрибут Inherits, а для указания класса, в котором содержится отделенный код -- атрибут CodeFile:

Пример:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="TestFormCodeBehind.aspx.cs" Inherits="TestFormCodeBehind"%>

Отделенный код. Web-страницы в Web-проекте всегда используют модель отделенного кода. Однако они включают один дополнительный файл с расширением .aspx.desginer.cs, в котором содержатся объявления для всех имеющихся на них элементов управления. Это означает, что если вы создадите страницу с именем Default.aspx, вы получите файл Default.aspx.cs с классом отделенного кода и файл Default.aspx.designer.cs с объявлениями элементов управления (рис. 2.23). Во время компиляции эти два файла будут объединены. В беспроектном Web-сайте вы никогда не увидите файла с объявлениями элементов управления, поскольку эта часть кода генерируется во время компиляции системой ASP.NET.

Это отвечает широко принятому принципу разделения логики и представления, но на самом деле разработчикам приходилось смешивать код представления (например, манипуляцию деревом элементов управления серверной стороны) с логикой приложения (например, манипуляцию информацией из базы данных) в одном монстроподобных классах отделенного кода. Без более четкого разделения ответственности конечный результат зачастую получался хрупким и непредсказуемым.

приложение тэг компиляция

4. Стандартные тэги

директива обработки - позволяет передавать в ASP данные, которые необходимы для обработки файла «.asp»

Ключевые слова, которые могут применяться в директивах обработки:

LANGUAGE - установка языка сценария для файла «.asp».

ENABLESESSIONSTATE - это ключевое слово указывает на использование в файле «.asp» сведений о состоянии сеанса.

CODEPAGE - установка кодовой страницы (кодировки символов) для файла «.asp».

LCID - установка для файла кода языка (местности).

TRANSACTION - выполнение файла «.asp» в контексте транзакции.

Пример: <%@ LANGUAGE="C#" CODEPAGE="932" %>

Здесь задаются язык сценария и кодовая страница

< %%>

для включения сервера-кода на стороне

< %= выражение %>

директива вывода - позволяет вывести значение выражения на экран. Эта директива вывода равнозначна команде Response.Write().

< % # %>

используется для привязки данных в элементы управления ASP.NET.

< % $ %>

используется для выражения привязки данных.

< %----% >

используется для комментариев стороне сервера.

5. Технология AJAX

Термин AJAX появился в 2004 году в сообществе Java. Первоначально он использовался для обозначения семейства взаимосвязанных самостоятельных технологий, реализующих различные формы удаленного исполнения сценариев и которые могут быть эффективно использованы вместе. AJAX включает в себя:

стандартные средства отображения страниц, такие как (X)HTML и CSS;

динамические средства отображения информации и взаимодействия с пользователем - Document Object Model;

обмен данными и их обработка - XML и XSLT;

механизмы асинхронной передачи данных с сервера с помощью объекта XMLHttpRequest;

JavaScript, который объединяет всё это вместе.

В настоящее время разработка web-приложений стремится к разграничению клиентской части и серверной, этим и обуславливается повсеместное использование шаблонов, таких как Smarty и XSLT.

При разработке более сложных проектов возникает необходимость в структурированности и удобочитаемости кода. Не следует засорять код программиста кодом верстальщика, а код верстальщика - правками дизайнера, и так далее.

Использование AJAX позволяет создавать намного более удобные web-интерфейсы пользователя на тех страницах сайтов, где необходимо активное взаимодействие с пользователем.

6. Объект XMLHttpRequest

Объект XMLHttpRequest (или, сокращенно, XHR) дает возможность браузеру делать HTTP-запросы к серверу без перезагрузки страницы.

Несмотря на слово XML в названии, XMLHttpRequest может работать с данными в любом текстовом формате, и даже с бинарными данными. Использовать его очень просто.

Различают два использования XmlHttpRequest. Первое - самое простое, синхронное. Через объект XMLHttpRequest с сервера запрашивается страница, и текст ответа сервера показывается через метод alert(). Сначала создается запрос, задается открытие (open) синхронного соединения с адресом и запрос отсылается. При синхронном запросе браузер "подвисает" и ждет, пока сервер не ответит на запрос. Когда ответ получен, при помощи alert() печатается текст ответа сервера. Все максимально просто. Второе использование XmlHttpRequest - асинхронное. Браузер не ждет выполнения запроса для продолжения скрипта. Вместо этого существует функция, которую запрос вызовет сам, когда получит ответ с сервера. При отправке запроса в большинстве прикладных сред AJAX экземпляр объекта XmlHttpRequest для текущего браузера создается кодом следующего вида:

var xmlRequeste e;

try {

xmlRequest = new XMLHttpRequest();

}

catch(e) {

try {

xmlRequest = new ActiveXObject(“Microsoft.XMLHTTP");

}

catch(e) { }

}

Метод open готовит канал к передаче запроса, но физический сокет на этой стадии еще не создается. Для выполнения команды POST необходимо добавить соответствующий заголовок типа содержимого. Логический аргумент указывает, является ли операция асинхронной:

xmlRequest.open("POST", url, false);

xmlRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

xmlRequest.send(postData);

Метод send открывает сокет и отправляет пакет. В предыдущем фрагменте кода он возвращает управление только после полного получения ответа. Для асинхронного запроса аналогичный код выглядит несколько иначе:

xmlRequest.open("POST", url, true);

xmlRequest.onreadystatechange = CallbackComplete;

xmlRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

xmlRequest.send(postData);

На место элемента CallbackComplete подставляется функция JavaScript, которая получает и обрабатывает ответ, сгенерированный по отправленному запросу.

Допустимыми значениями состояния готовности являются целые числа от 0 до 4, которые означают соответственно - «Запрос не инициализирован», «Метод open вызван успешно», «Метод send вызван успешно», «Прием данных» и «Ответ получен». Функция CallbackComplete обычно начинает свою работу с проверки состояния готовности.

Ответ.

Ответ доступен в двух форматах -- физического текста и документа XML.

В состояниях готовности 0-2 свойство responseText остается пустым - данные еще не приняты. При переходе в состояние 3 («Прием данных») свойство содержит данные, полученные до настоящего момента, интерпретированные в заданной кодировке символов. Если кодировка не указана, то по умолчанию используется UTF-8.

Свойство responseXml остается недоступным до того момента, когда запрос будет полностью принят и успешно разобран как документ XML. Если тело ответа не содержит XML или разбор по какой-то причине завершается неудачей, свойство возвращает null.

Создание XMLHttpRequest для разных браузеров.

Метод создания XMLHttpRequest отличается от браузера к браузеру. Функция в JavaScript в следующем коде сглаживает эти трудности разных браузеров, определяя корректный подход для данного браузера и возвращая XMLHttpRequest готовым к использованию.

Код возвращает новый XMLHttpRequest объект или false, если браузер его не поддерживает:

function newXMLHttpRequest()

{

var xmlreq = false;

if (window. XMLHttpRequest)

{

//Создадим XMLHttpRequest объект для не-Microsoft браузеров

xmlreq = new XMLHttpRequest();

}

else if (window.ActiveXObject)

{

//Создадим XMLHttpRequest с помощью MS ActiveX

try

{

//Попробуем создать XMLHttpRequest для поздних версий Internet //Explorer

xmlreq = new ActiveXObject(”Msxml2. XMLHTTP”);

}

catch (e1)

{

//Не удалось создать требуемый ActiveXObject

try

{

//Пробуем вариант, который поддержат более старые версии

//Internet Explorer

xmlreq = new ActiveXObject(”Microsoft. XMLHTTP”);

}

catch (e2)

{

//Не в состоянии создать XMLHttpRequest с помощью ActiveX

}}}

return xmlreq;

}

7. Нестандартные web-элементы управления

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

Функции существующих элементов управления можно расширять. Можно также создавать новые элементы управления путем объединения нескольких существующих элементов -- такие составные элементы управления называются пользовательскими (user). Кроме того, в ASP.NET определен небольшой набор базовых классов, на основе которых можно создавать совершенно новые, так называемые специализированные (custom) элементы управления.

Для отображения нестандартных элементов, входящих в состав web-страниц, браузеры используют специальные встроенные приложения. При этом для браузера Netscape эти приложения реализуются в виде динамических библиотек (.DLL), а в программе Internet Explorer, Mozila и Opera -- в виде элементов управления ActiveX.

Нестандартные элементы управления расширяют инструментарий Web-разработчика. Они инкапсулируют ключевые элементы интерфейса и программной логики, благодаря чему их можно многократно использовать не только в одном приложении, но и в других проектах.

Рассмотрим 3 типа нестандартных элементов управления:

* пользовательские элементы управления (user controls) -- создаются с помощью графического интерфейса дизайнера Visual Studio .NET путем комбинирования существующих серверных и HTML-элементов управления; представляют собой функциональные блоки, инкапсулирующие некоторые возможности пользовательского интерфейса.

Пользовательский элемент управления хранится в файле, копию которого необходимо включать в каждый проект, использующий этот элемент управления;

* составные элементы управления (composite controls) -- создаются из существующих серверных и HTML-элементов управления. Похожи на пользовательские, но в отличие от них создаются программно, поэтому могут быть скомпилированы в сборки (dll-файлы). Последние допустимо применять одновременно в нескольких приложениях и добавлять на панель Toolbox в Visual Studio .NET;

* генерируемые элементы управления (rendered controls) -- генерируются кодом в виде HTML-тэгов «с нуля», а не компонуются из существующих элементов управления. Подобно составным элементам управления, генерируемые элементы управления компилируются и их можно добавлять на панель Toolbox. Однако, создавая генерируемые элементы управления, приходится самостоятельно писать код для решения задач, которые в составных элементах управления автоматизированы.

В этой работе речь пойдет о первом варианте - о пользовательских элементах управления. Они наилучшим образом подходят для стандартизации содержимого, которое будет повторяться на каждой странице Web-сайта.

8. Основы пользовательских элементов управления

Файлы пользовательских элементов управления (файлы с расширением .ascx) подобны файлам Web-форм ASP.NET (они имеют расширение .aspx).

Как и Web-формы, пользовательские элементы управления состоят из части пользовательского интерфейса с дескрипторами элементов управления (файл с расширением .ascx) и могут использовать файлы внутристрочных сценариев или файлы отделенного кода с расширением .cs.

К основным отличиям между пользовательскими элементами управления и Web-страницами можно отнести следующие:

Пользовательские элементы управления начинаются с директивы Control, а не с Page.

Расширением пользовательских элементов управления является .ascx, а не .aspx, а их файлы отделенного кода являются наследниками класса System.Web.UI.UserControl. На самом деле, классы UserControl и Page являются наследниками одного и того же класса TemplateControl, поэтому у них так много одинаковых методов и событий.

Пользовательские элементы управления не могут быть запрошены самим клиентским браузером. (В противном случае ASP.NET выдаст сообщение об ошибке “that file type is not served” -- “необслуживаемый тип файла”.) Наоборот, пользовательские элементы управления внедряются в другие Web-страницы.

9. Создание простого пользовательского элемента управления

Для создания пользовательского элемента управления в Visual Studio, необходимо выбрать в меню Website (Web-сайт) команду Add New Item (Добавить новый элемент), а затем выбрать шаблон Web User Control (Пользовательский элемент управления Web).

Ниже приведен код простого пользовательского элемента управления -- в нем просто содержится статический HTML-код. Этот элемент представляет строку верхнего колонтитула.

<%@ Control Language="C#" AutoEventWireup="true"

CodeFile="Header.ascx.cs" Inherits="Header" %>

<table width="100%" border="0" style="background-color: Blue">

<tr>

<td style="...">

<b>User Control Test Page</b></font>

</td>

</tr>

<tr>

<td align="right" style="...">

<b>An Apress Creation c 2008</b>

</td>

</tr>

</table>

Простой элемент управления верхним колонтитулом не требует выполнения какого-то специального кода, поэтому данный класс можно оставить пустым:

public partial class Header : System.Web.UI.UserControl

{}

Чтобы протестировать элемент управления, нужно поместить его на форму. Во-первых, с помощью директивы Register нужно сообщить странице ASP.NET, что вы планируете использовать этот пользовательский элемент управления; эту директиву вы можете поместить непосредственно после директивы Page, как показано ниже:

<%@ Register TagPrefix="apress" TagName="Header" Src="Header.ascx" %>

В этой строке с помощью атрибута Src идентифицируется исходный файл, в котором содержится элемент управления. В ней также определяется префикс дескриптора (TagPrefix) и имя дескриптора (TagName), которые будут использоваться для объявления нового элемента управления на странице.

Подобно тому, как серверные элементы управления ASP.NET имеют префикс <asp:...> для объявления элементов управления, можно использовать свои собственные префиксы дескрипторов, помогающие различать создаваемые элементы управления. В следующем примере применяется префикс дескриптора apress и дескриптор с именем Header:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="HeaderTest.aspx.cs"

Inherits="HeaderTest" %>

<%@ Register TagPrefix="apress" TagName="Header" Src="Header.ascx" %>

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

<head>

<title>HeaderHost</title>

</head>

<body>

<form id="Form1" method="post" runat="server">

<apress:Header id="Header1" runat="server"> </apress:Header>

</form>

</body>

</html>

10. Обработка событий

Чтобы разобраться в механизме обработки событий, создадим простой пользовательский элемент управления TimeDisplay с некоторой логикой обработки событий. Этот пользовательский элемент управления инкапсулирует один элемент управления LinkButton. Каждый раз при щелчке на ссылке будет обновляться время, отображаемое этой ссылкой. Кроме того, время будет обновляться при первой загрузке элемента управления. Так же добавлено общедоступное свойство Format. Это свойство принимает стандартную форматирующую строку .NET, которая конфигурирует формат отображаемой даты.

Ниже показана разметка пользовательского элемента управления:

<%@ Control Language="c#" AutoEventWireup="true"

CodeFile="TimeDisplay.ascx.cs" Inherits="TimeDisplay" %>

<asp:LinkButton id="lnkTime" runat="server" OnClick="lnkTime_Click" />

А это соответствующий класс отделенного кода:

public class TimeDisplay : System.Web.UI.UserControl

{

protected void Page_Load(object sender, System.EventArgs e)

{

if (!Page.IsPostBack)

RefreshTime();

}

private string format;

public string Format

{

get { return format; }

set { format = value; }

}

protected void lnkTime_Click(object sender, System.EventArgs e)

{

RefreshTime();

}

public void RefreshTime()

{

if (format == null)

{

lnkTime.Text = DateTime.Now.ToLongTimeString();

}

else

{

// Генерируем исключение на случай

// недействительных форматирующих строк.

lnkTime.Text = DateTime.Now.ToString(format);

}

}

}

Обработчик события lnkTime_Click вызывает метод RefreshTime(). Поскольку этот метод является общедоступным, то код в ведущей Web-форме может программным образом обновлять метку, вызывая метод в любой момент времени.

Свойство Format в некоторой точке своего кода можно задавать по-разному, например, так:

<apress:TimeDisplay id="TimeDisplay1"

Format="dddd, dd MMMM yyyy HH:mm:ss tt (GMT )" runat="server" />

<hr />

<apress:TimeDisplay id="TimeDisplay2" runat="server" />

11. Использование специальных объектов

Многие пользовательские элементы управления разрабатываются для того, чтобы абстрагироваться от подробностей обычных сценариев с помощью высокоуровневой модели элементов управления. Часто приходится создавать специальные классы для того, чтобы обеспечить взаимодействие между Web-страницей и пользовательским элементом управления.

В следующем примере создается элемент управления LinkTable, который генерирует набор гиперссылок в форматированной таблице.

Для поддержки этого элемента управления потребуется специальный класс, в котором будет определена информация, необходимая для каждой ссылки:

public class LinkTableItem

{

private string text;

public string Text

{

get { return text; }

set { text = value; }

}

private string url;

public string Url

{

get { return url; }

set { url = value; }

}

// Конструктор по умолчанию.

public LinkTableItem()

{}

public LinkTableItem(string text, string url)

{

this.text = text;

this.url = url;

}

}

Далее приведен класс отделенного кода для элемента LinkTable. Он определяет коллекцию Items, которая принимает массив объектов LinkTableItem, по одному объекту для каждой ссылки, которые хочется отобразить в таблице.

public partial class LinkTable : System.Web.UI.UserControl

{

private LinkTableItem[] items;

public LinkTableItem[] Items

{

get { return items; }

set

{

items = value;

// Обновляем сетку.

listContent.DataSource = items;

listContent.DataBind();

}

}

}

Сам элемент управления использует механизм привязки данных для того, чтобы сгенерировать большую часть своего пользовательского интерфейса. Всякий раз, когда будет задаваться или изменяться свойство Items, GridView в элементе управлении LinkTable будет возвращаться к коллекции элементов.

Для привязки данных используется метод DataBinder.Eval:

<asp:HyperLink id="lnk" NavigateUrl=

'<%# DataBinder.Eval(Container.DataItem, "Url") %>'

Font-Names="Verdana" Font-Size="XX-Small" ForeColor="#0000cd"

Text='<%# DataBinder.Eval(Container.DataItem, "Text") %>'

runat="server" />

Наконец, далее показан код типичной Web-страницы, который можно использовать для определения списка ссылок и отображения его посредством привязки к пользовательскому элементу управления LinkTable:

protected void Page_Load(object sender, System.EventArgs e)

{

// Задаем заголовок.

LinkTable1.Title = "A List of Links";

// Задаем список элементов-гиперссылок.

LinkTableItem[] items = new LinkTableItem[3];

items[0] = new LinkTableItem("Группа Вконтакте Приют", "http:// vkontakte.ru/club2065072 ");

items[1] = new LinkTableItem("Мурмансий сайт murmanprts.ru", "http://www. murmanprts.ru ");

items[2] = new LinkTableItem("Сайт zoo-priut.ru", "http://www.zoo-priut.ru/ ");

LinkTable1.Items = items;

}

После конфигурирования код Web-страницы больше никогда не будет взаимодействовать с этим элементом управления. Когда пользователь щелкнет на одной из ссылок, он просто будет переадресован в новое место назначения без какого-либо дополнительного кода.

Заключение

Результатом курсовой работы является реализованный web-сайт, созданный при помощи технологии ASP.NET на языке C# и предоставляющий информацию об объявлениях. В курсовой работе используются пользовательские web-элеменеты, которые упрощают работу программиста при создании web-сайта.

При помощи элементов «ссылки» убедились в преимуществе технологии AJAX, так как существенно уменьшается время на загрузку/передачи данных. Это значит, что уменьшается и время реакции приложений на действия пользователя. Удостоверились в том, что функции, выполняемые в web-оболочке браузера, не зависят от операционной системы клиента.

Рассмотрели универсальность, эффективность, совместимость с разными платформами и безопасность технологии Java, которые делают ее идеальным инструментом для сетевых технологий.

Литература

1. http://farinadesign.narod.ru/

2. http://xmlhttprequest.ru/

3. Microsoft ASP.NET 3.5 с примерами на C# 2008 для профессионалов, 2-е изд.: Пер. с англ. -- М.: ООО “И.Д. Вильямс”, 2008. -- 1424 с.: ил. -- Парал. тит. англ.

4. http://www.interface.ru/

5. http://www.cyberguru.ru/

6. http://www.securitylab.ru/

7. Разработка Web-приложений на Microsoft Visual Basic .NET и Microsoft Visual C# .NET. Учебный курс MCAD/MCSD -- М.: И здательско-торговый дом ?Русская Редакция?, 2003. -- 704стр.: ил.

8. http://AJAX-development.narod.ru/

9. http://www.codenet.ru/

10. http://www.ibm.com/

11. Эспозито Д. Знакомство с технологией Microsoft ASP.NET 2.0 AJAX. - М.: «Русская редакция»; СПб.: «Питер», 2007.

12. http://javascript.ru/

13. http://galleo.ru/

Размещено на Allbest.ru


Подобные документы

  • Структура и устройство метода AJAX, а также история его возникновения и развития. Инструментарий разработки AJAX-приложений. Безопасность AJAX-приложений и способы их решения. Разработка дизайна оформления клиентской и администраторской частей портала.

    дипломная работа [2,9 M], добавлен 22.07.2011

  • Структура и история развития технологии AJAX. Устройство метода AJAX. Инструментарий разработки веб-приложений. Разработка и создание информационного портала по языкам программирования с использованием технологии AJAX. Информационное содержание портала.

    дипломная работа [3,2 M], добавлен 05.06.2011

  • Функции технологии Ajax разработки Web-приложений: выполнение HTTP-запросов в клиентской части и анализ ответа XML-сервера. Создание данных объекта XMLHttpRequest для разных браузеров. Обработка с помощью сервлета. Функциональность задач в Ajax.

    лабораторная работа [54,8 K], добавлен 06.06.2009

  • Основы и характеристика технологии Ajax, ее преимущества и применение. Системы, созданные с использованием Ajax, базовые технологии. Файловый веб менеджер на основе технологии Ajax, его основные возможности и принцип реализации программного кода.

    курсовая работа [25,6 K], добавлен 23.12.2009

  • Ajax - технология разработки Web-приложений c использованием кода на машине клиента для изменения данных на Web-сервере. Обновление Web-страницы без перезагрузки, прерывающей обмен данными. Методы и свойства объекта XMLHTTPRequest. Поле Select с поиском.

    лабораторная работа [18,9 K], добавлен 06.06.2009

  • Облачные технологии в бизнес-процессах. Модели использования бизнес-приложений в качестве интернет-сервисов. Практика применения облачных технологий. Приложения, созданные на основе Windows Azure. Создание систем и офисных приложений по запросу.

    реферат [25,3 K], добавлен 16.06.2013

  • Java Runtime Environment - минимальная реализация виртуальной машины, необходимая для исполнения приложений, без компилятора и других средств разработки. Компиляция исходного кода через командную строку. Основные моменты создания игрового 2d-приложения.

    курсовая работа [2,1 M], добавлен 26.04.2014

  • Сущность языков разметки и этапы проектирования. Общая характеристика бесплатных приложений для работы с кодом в текстовом формате. Особенности визуальных редакторов и суть платных приложений. Стандартные средства разработки для Unix систем и их замена.

    курсовая работа [49,6 K], добавлен 04.06.2013

  • Технология создания многопоточных приложений в современных системах программирования с использованием языка C# в Visual Studio.NET. Разработка алгоритма и структуры программы. Описание и особенности тестирования приложения с разным количеством потоков.

    курсовая работа [773,0 K], добавлен 14.03.2013

  • Возможности интерфейса программирования приложений ARI крупных картографических веб-сервисов в процессе создания двух картографических веб-сервисов. Анализ существующих веб-сервисов. Карты Яндекса и Google, пользовательские карты. Выбор среды разработки.

    дипломная работа [4,5 M], добавлен 24.09.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.