- •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.4. Ресурсы в Jasp
При загрузке страницы, Jasp определяет, какие ресурсы используются на странице: это может быть HTML-разметка, один или несколько CSS или JavaScript файлов. Jasp группирует все CSS и JavaScript файлы в один CSS и один JavaScript файл и добавляет специальные ссылки в HTML разметку, по которым они подгружаются браузером:
<script type="text/javascript" src="?$scripts=7_5_2_3_4_6_&v=-1720007920"> </script>
<link rel="stylesheet" type="text/css" href="?$styles=&v=-1720007920" />
По-хорошему, у всех страниц сайта должна быть одна базовая страница (аналог MasterPage), содержащая одинаковый набор базовых стилей и скриптов. Таким образом, данные ресурсы "закэшируются" и для других страниц сайта.
Страницы могут отличаться набором компонент, которые на них расположены. При загрузке страницы Jasp также определяет, какие ресурсы используют все компоненты, расположенные на странице. HTML каждого компонента подставляется в соответствующее место в результирующий HTML, а все CSS и JavaScript файлы, по аналогии с ресурсами страницы, объединятся в один CSS и один JavaScript файл.
<script type="text/javascript" src="?$pageScripts=2_&$r=&v=-1720007920"> </script>
<link rel="stylesheet" type="text/css" href="?$pageStyles=2_&$r=&v=-1720007920" />
У каждой страницы или компонента могут быть как личные ресурсы, которые подгружаются автоматически и могут использоваться только данным компонентом, или его наследниками, так и общие, которые могут использоваться сразу несколькими компонентами. Личные ресурсы должны называться также как имя класса компонента (без учета расширения). Естественно, ресурсы компонент, которые изначально не используются на странице, загружены не будут. Их загрузка произойдет автоматически при первом использовании.
14.2.4.1. Css ресурсы
Зачастую в проектах бывает один или пару CSS файлов, в которые без разбора добавляются все стили из всего проекта, даже если стиль используется один раз для определенного элемента. Такой файл получается довольно большим и трудно поддерживаемым. В Jasp можно создать общий файл, куда поместить основные стили, а стили, специфичные для определенных компонент или страниц, помещать в личные CSS-файлы компонент.
Необходимо отметить, что Jasp подменяет клиентские идентификаторы компонент – поэтому стили с селекторами через идентификаторы работать не будут.
14.2.4.2. JavaScript ресурсы
JavaScript ресурс – это текстовый файл с расширением js, содержащий JavaScript-код компонента. Данный файл должен определять один единственный объект – экземпляр компонента. В простейшем случае это пустой объект:
{
}
Если в объекте определена функция $init, то она будет вызвана сразу же после вызова клиентского конструктора (конструкторы создаются автоматически и подменять или модифицировать их нельзя):
{ $init: function(){
// код инициализации
}
}
Также в контексте данного объекта могут быть определены и другие функции компонента.
14.2.4.3. Html ресурсы
HTML ресурс – это текстовый файл с расширение html или htm, содержащий HTML разметку компоненты или страницы. Данный файл должен удовлетворять синтаксическим требованиям XML, но при этом, может не являться XHTML-документом. Также в этом файле могут встречаться вставки для создания экземпляров дочерних компонент.
