Компьютерные книги
Главное меню
Главная Поиск по сайту Добавить материал О нас Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Языки программирования -> Ватсон К. -> "С#" -> 359

С# - Ватсон К.

Ватсон К. С# — Лори, 2005 . — 879 c.
ISBN 1-861004-98-2
Скачать (прямая ссылка): vatsonc2005.pdf
Предыдущая << 1 .. 353 354 355 356 357 358 < 359 > 360 361 362 363 364 365 .. 404 >> Следующая

L “ 1. Cml | hhi |
766

Практический пример



пользователя для каждой конкретной страницы, При создании web-сайта для проведения опросов представляется логичным воспользоваться на стороне сервера формой, которая будет обладать, иапример, одним переключателем для каждого ответа и кнопкой Vote для регистрации сделанного выбора. Еслн остановиться иа таком подходе, то страница, на которой будет проводиться опрос, не сможет содержать никаких других форм на стороне сервера, а если включить опрос на несколько страниц web-сайта, где впоследствии потребуется добавить еще какие-либо формы (например, второй опрос или управляющий элемент поиска), то этого сделать будет нельзя. Чтобы избежать проблем подобного рода, а заодно получить возможность познакомиться с некоторыми не столь широко известными методами .NET, нужно воспользоваться такой моделью web-сайта для проведения опросов, в которой не будет использовано никаких форм на стороне сервера, т. е. перейти не более низкий уровень возможностей ASP.NET, который может оказаться знакомым тем, программирует на ASP 3.0. И хотя использование этих возможностей в ASP.NET является несколько необычным, все равно будет полезно познакомиться с тем, как они работают в подобных ситуациях — когда использование формы

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

Обычно в простой, отсылаемой назад форме достаточно ограничиться одной страницей н воспользоваться событием OnClick для кнопки отправки (кнопки Vote), которая позволяет зарегистрировать выбор посетителя. Однако, чтобы

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

Как должна выглядеть первая страница—default.aspx, показано на рисунке слева.

|"S .'tnraLka't/pplMr,' ¦ '1i(in ,:>ll 1пг,;рш I r-jilru-i JO*!!
cii Ei« S:* flutes- . I«e ¦ jM
! :-6Г »
Ad**** I® lrttp:№<atiort/polwi ¦ jd fe?301 Unto *

Какой язык программирования вы, в основном, используете?

Голосую заС#

Голосую за C+ + Голосую за Java Голосую за JavaScript Г олосую зд Visual Basic

| .1 1 gglasdhlTMt

А вот как должна выглядеть вторая страница — vote.азрх, представлено на рисунке справа,

Первая страница — default.aspx — представляет опрос, и когда мы выбираем первый из возможных ответов с помощью ссылки Vote, то видим, что странице vote.aspx в строке URL передается единица. Данный параметр используется для регистрации голоса. После этого vote.aspx выводит все варианты ответов со счетчиками голосов для каждого из них,

U Wtp://kicabotW3o4V7vn>Sf- ctlpx?ii!l- | Microtort 1г*прг.Г EurliHol .11

He Cz?L Sftsw F«Knri ’ocJf Hrfc ЩЦ

* ¦* - J I] -2 ; ^ [g)- »

Шам |?| |Y![r3

Голосовании гvo uonpocy 'Kaiud лаы* программировании ни, воснодакзм, ислолигуше?4

С* Шотоспя C++2 голоса Java 35 голосов JuvoSci.pt 12 голосов Visual Basic 42 голоса

Don*
Практический пример 1 — web-caum для проведения опросов_________________________________________767

Начнем с файла ASP.NET defauit.aspx, созданного Visual Studio.NET. Эта страница является стандартной и в ней содержится несколько тегов, и частности, внешние HTML-теги, а также теги <head> н <body>:

<%в Page language^’ct* Codebehlnd*"Default.aspx.cs* AutOEventWireup1*’false" Inherits=PollW,HebPornsl" %>

<!DOCTYPE HTML PUBLIC *-//W3C//DTD HTHL 4.0 Transitional//EM* >

<HTHL>

. <HEAD>

<meta name ¦"GENERATOR* Content="Microsoft Visual.Studio 7.0"»

</HEAD>

<B0DY>

<?orm id^Default" method»"post" runat=*server¦>

. </form>

</BODY>

</1ПНЬ>

Обратите внимание на то, что в код также включен тег серверной формы (<fom runat=*server¦>). Первое, что нужно сделать,— удалить его; это послужит напомннаннем того, что нами не используются формы на стороне сервера. В то же время мы включим пару управляющих элементов Label на стороне сервера; это будет сделано в том месте, где происходит вывод вопроса для опроса и перечня возможных ответов:

<%9 Page language=*cl* Codebehind="Default.aspx.cs" AutoEventWireup=¦false¦ Inherits=PollW,Webronnl’ %>

<IDOCTYPE HTML PUBLIC '-//W3C//DTD HTHL 4.0 Transitional//EN' >

<HTML> ,

<H?AD>

<meta name =¦GENERATOR* Content=*Microsoft Visual Studio 7.0¦>

</HEAD>

<body>

<aap:Label id=*QuestionLabel‘ runat-'server“></aap:Label>

<asp:Label id'‘AnswerLabel" runat=*server*></ :Ldbel>

</BODY>

</HTML>

Теперь есть чистая страница ASP.NET с управляющим элементом Label, куда мы можем вывести наш вопрос. Под вопросом мы выведем возможные ответы, однако вместо того, чтобы делать это непосредственно в .aspx-файле, мы используем для этих целей файл с кодом поддержки — default.aspx.es.

Здесь используется стандартный код, передаваемый Visual Studio.NET в файл defauit.aspx.es, который осуществляет основную обработку событий, а также содержит стандартные методы для инициализации и загрузки страницы. Обратите внимание на то, как Visual Studio.NET генерирует обработчик событий для метода Page_inito; именно так объект раде вызывает метод Page_init() после его создания:
Предыдущая << 1 .. 353 354 355 356 357 358 < 359 > 360 361 362 363 364 365 .. 404 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.