
- •14. Применение Веб-методов. Технология Jasp
- •14.1. Веб-сервисы
- •14.1.1. Введение
- •14.1.2. Веб-службы в asp.Net
- •14.1.3. Доступ к Веб-сервисам в управляемом коде
- •14.1.3.1. Взаимодействие клиент-сервер для клиентов ajax
- •14.1.3.2. Клиентская архитектура технологии ajax
- •14.1.3.3. Серверная архитектура ajax
- •Xml-сериализация. Уровень связи Веб-служб поддерживает xml-сериализацию для soap-запросов к Веб-службам и возвращения типов xml по json-запросам к Веб-службам.
- •14.1.4. Создание Веб-сервиса
- •14.1.4.1. Директива обработки WebService
- •14.1.5. Выполнение http-запросов из клиентского сценария ajax
- •14.1.6. Предоставление доступа к Веб-службам в клиентском сценарии
- •14.1.6.1. Предоставление доступа к сервисам из клиентского сценария на Веб-странице asp.Net
- •14.1.6.2. Примеры
- •14.1.7. Ключевые термины
- •14.2. Технология Jasp
- •14.2.1. Введение
- •14.2.2. "Hello World" на Jasp
- •14.2.3. Создание страницы с разметкой, скриптом и стилями
- •14.2.4. Ресурсы в Jasp
- •14.2.4.1. Css ресурсы
- •14.2.4.2. JavaScript ресурсы
- •14.2.4.3. Html ресурсы
- •14.2.4.4. Бинарные ресурсы
- •14.2.5. Страницы и компоненты
- •14.2.5.1. Создание страниц
- •14.2.5.2. Создание компонент
- •14.2.5.2.1. Создание экземпляров компонент программно
- •14.2.5.2.2. Создание экземпляров компонент через разметку
- •14.2.5.2.3. Создание экземпляров компонент на JavaScript
- •14.2.6. Передача данных на клиентскую сторону
- •14.2.7. Наследование компонент и страниц
- •14.2.7.1. Наследование разметки
- •14.2.7.2. Наследование стилей
- •14.2.7.3. Наследование JavaScript
- •14.2.8. Конфигурирование Jasp
- •14.2.9. Ключевые термины
- •14.3. Краткие итоги
14.2.2. "Hello World" на Jasp
Создание нового приложения на Jasp ничем не отличается от создания обычного ASP.NET приложения. Можно даже не создавать новый WebSite/WebApplication, а использовать существующий. Главное, чтобы был добавлен Reference на сборку Jasp и присутствовали минимальные необходимые настройки в web.config для работы Jasp:
<configuration>
<configSections>
<section name="jaspSettings" type="Jasp.Configuration.SettingsSection"/>
</configSections>
<jaspSettings />
<system.web>
<httpHandlers>
<add verb="*" path="*.jasp" type="Jasp.Web.HttpHandler, Jasp"/>
</httpHandlers>
</system.web>
<system.webServer>
<handlers>
<add name="JaspCommonHandler" path="*.jasp" verb="*" type="Jasp.Web.HttpHandler, Jasp"
resourceType="Unspecified" preCondition="integratedMode"/>
</handlers>
</system.webServer>
</configuration>
Примечание: для работы сайта, использующего Jasp, под управлением IIS необходимо подключить ISAPI-фильтр на расширение .jasp.
Для создания страницы необходимо создать класс, унаследованный от класса Jasp.Web.UI.Page. Имя класса должно совпадать с именем страницы.
Создадим страницу, выводящую "Hello world!".
using Jasp.Web.UI;
using Jasp.Web.UI.HtmlControls;
namespace Jasp.Examples
{
public class HelloWorld : Page
{
protected override void OnInit()
{
Body.Controls.Add(new Literal("Hello world!"));
}
}
}
Чтобы зайти на страницу, вводим в браузере /HelloWorld.jasp. Пока не будем углубляться в детали сгенерированного HTML, а просто убедимся, что все работает – в браузере увидим "Hello world!", и при загрузке страницы не произойдет JavaScript-ошибок.
14.2.3. Создание страницы с разметкой, скриптом и стилями
Рассмотрим пример создания страницы, содержащую разметку, скрипты и стили.
Для примера, создадим страницу, текст которой будет анимирован с помощью эффектов jQuery. Для начала, добавим в проект JavaScript-файл jquery-1_2_6_min.js с библиотекой jQuery (в любое место проекта). Не забудем установить Build action в embedded resource (подробнее подключение ресурсов описывается ниже). Данный файл будет являться общим ресурсом для всех страниц или компонент.
Далее создадим класс для страницы, назовем его Example1:
using Jasp.Resources;
using Jasp.Web.UI;
namespace Jasp.Examples
{
[Resources("jquery-1_2_6_min.js")]
public class Example1 : Page
{
}
}
Добавим классу атрибут ResourcesAttribute с указанием имени файла с jQuery. Теперь, при загрузке страницы, Jasp будет добавлять этот файл к скриптам страницы.
Теперь создадим CSS файл Example1.css со стилями для текста страницы:
.text-style
{
color:red;
font-weight:bold;
font-size:large;
}
Также создадим файл Example1.htm с разметкой, содержащий текст, который будет анимироваться:
<html>
<head>
<title>Пример 1</title>
</head>
<body>
<span id="text">Анимированный текст!</span>
</body>
</html>
Теперь создадим JavaScript-файл Example1.js с кодом, который будет анимировать текст:
{
// функция, вызываемая при инициализации контрола
$init: function(){
// указатель на текущий контрол
var self = this;
// дожидаемся инициализации jQuery
jQuery(document).ready(function(){
// запускаем анимацию
self.animateText();
});
},
// функция для анимации текста
animateText: function(){
// указатель на текущий контрол
var self = this;
// производим анимацию
jQuery(self.$text.$dom).toggleClass('text-style').toggle(1000, function(){
self.animateText();
});
}
}
После загрузки страницы, мы увидим мигающий текст.
Рассмотрим, каким образом Jasp подгружает CSS и JavaScript файлы.