|
Программирование >> Руководство по созданию web приложений
<table </table> паив= В2> Если щелкнуть ее мышью, в окно браузера загрузится документ из файла указанный в параметре ACTION тега <FORM>. Текст файла Masterl.asp . в листинге 3-8. Помимо таблиц и форм, он содержит серверный сценарии, составленный на языке Листинг 3-8 Вы найдете в файле chOSIMaslerl.asp на прилагаемом к книге компакт-диске. Первая строка файла Masterl.asp сообщает серверу Web о том, что данный файл содержит серверный сценарий, составленный на языке С этой кон- струкцией Вы уже встречались. А вот вторая строка для Вас новая: Записывая нулевое значение в свойство Expires объекта Response, мы тем самым сообщаем что полученная им страница уже устарела. В результате он не будет ее Это еще один способ отменить : ванне страниц, мешающее обновлению динамически создаваемых документов HTML в окне браузера. К сожалению, данное решение работает не всегда. Более . . способ - добавление к адресу В страницы при ее загрузке фиктивного параметра в виде случайного числа. Следующее действие серверного сценария - считывание содержимого нере-сеанса с именем Эта операция выполняется нри помощи объекта Session: var sCurrency = Когда посетитель попадает на эту . в раз, такой неременной сеанса еще не существует. Поэтому в локальную переменную sCurrency занесено значение null. Когда же пользователь вернется на вторую страницу мастера с последующих страниц, : . сеанса . уже содержит код вы- бранной валюты. Чтобы нри повторных помечен переключатель, соответ- ствующий выбранной ранее валюте, необходимо нри генерации кода HTML указать в соответствующем параметр checked. Для этого мы мотрели в Сценарии ASP три локальные неременные с именами sChk- Dollar и , С помощью конструкции i . в из этих переменных записывается текстовая строка checked . В дальнейшем мы выра- вида чтобы определить параметры тегов . Это HTML, : удобными и мощными, но ; с точки зрения совместимости конструкциями на сценариев текст главной страницы мастера показан в листинге 3-7. Листинг 3-7 Вы найдете в файле , llasteri.html на прилагаемом к книге компакт-диске. Она содержит обычную форму с типа submit: ляг;1 нам отметить только один из трех переключателей, осутггтиляющн!!. выбор валюты: V:i( : ; seSSCurrency ) V:i( v:i ( : . - == in] I -Is- - - r . == .lollar ) -Is- . == ,iia ) else sCtikFtub= checi<ed ; *> fflethod= POST > <input щкив марки <table <input </table> Такой подход позволил нам определять начальное положение переключателя с зависимой фиксацией из серверного - ; расположенного в странице ASP. Причем, что важно, мы делаем это без . . : клиентских сценари- ев, применение которых ; . 1 возникновением потенциальных проблем совместимости с . ; . различных типов. Теперь мы расскажем о .;, как реализованы . между страницами нашего мастера платежей. Кнопку Вперед надо поместить в ту же форму, что и переключатели выбора валюты. Такая - i вызвана тем, что, щелкнув ее. Вы передадите уп- равление следующей странице мастера. Эта страница должна извлечь состояние переключателя выбора валюты, передаваемое вместе с содержимым формы. Кнопки Назад и Отмена также следует расположить в отдельных формах, так как они предназначены для загрузки разных страниц. Предусмотрев для этих кнопок разные формы, мы можем указать в соответствующих параметрах action i ORi> различные адреса URL. В первой странице мастера в результате щелчка кнопок Назад и Отмена загружается одна и та же страница i i однако во второй странице . ! это уже будет не так. Рассмотрим исходный текст второй страницы мастера платежей, приведенный в листинге 3-9. Листинг 3-9 Вы найдете в файле с1 на прилагаемом к книге компакт-диске. В этом листинге после обычных строк, определяющих язык серверного сце-и отменяющих кэширование, находятся строки, извлекающие код ной валюты. Он из параметров, переданных вместе с данными фор- мы предыдущей страницей мастера, и записывается к переменную != 0) else var Однако файл может загружен только в результате щел- чка кнопки Вперед, на предыдущей страницы мастера, но и в результате щелчка кнонки Назад, на следующей странице В носледнем случае загрузка файла будет : из другой формы, не содержащей нереключателя с именем . ; Поэтому мы вначале определяем, есть ли элементы в наборе применяя - конструкцию: - ,t != 0) Когда пользователь страницы мастера в прямом направлении, этот набор содержит один такой элемент е номером 1. Мы извлекаем его при помощи объекта Request и сохраняем в сеансовой неременной sessCurrency: к:д1г r-eic;y==Be(iuusl. ForiiiC Cur гегву ;f 1) Когда же пользователь страницы мастера в . . сеансовая неременная sessCurrency уже создана и . Паш сценарий извлекает из нее код выбранной валюты обычным образом и записы-в переменную sCurrency: На следующем этапе в зависимости от содержимого переменной sCurrency записывает ту или иную текстовую строку с названием валюты в неременную которую мы для нодготовки текста сообщения с валюты (в виде конструкции <х ifCsCurrency ==
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |