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

С# - Ватсон К.

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


using Polling;

using System;

using System.Collections;

using System.ComponentHodel;

using Svatem.Data;

using System.Drawing;

using Syset.web)

using System.Web.SeesionState;

' using System.Web.01;

using System feb.DI.WebControls; using SYstem.Web.UI.HtmlControle;
768 _____________________________________________________Практический пример

Namespace PollW ,

(

III <summary>

lit Общее описание для WebForml.

Ill -с/summary >

public claea webForml ; System.Web.UI.Page (

public Webfonn l) t

Page Init += new System.EventHandler (Page_Inlt) ;

}

private void Page_Loac) (object sender. System.EventArgu e)

(

И Ввод кода пользователя для инициализации страницы

>

private void Page_Init (object sender. EventArgs e)

(

U

11 Генерация ходаi Этот запрос требуется ASP.NET

И

InitialieeComponent О I

)

¦region Web Form Designer geenrated code III <sunrniary>

/// Необходимый метод для поддержки Design - не кодифицировать III содержание этого метода с помодью редактора кода.

Ill </summary>

private void InitiaiizeComponent (1;

(

this load +“ new System.Ev. itHandler (this.PageJioad);

>

lendregion

J

HI

Первое изменение, которое необходимо внести, заключается в добавлении объявлений ДЛЯ QuestionLabel И AnswerLabel, ЧТО ПОЗВОЛИТ ИСПОЛЬЗОВатЬ ИХ ИЗ КОДЭ поддержки страницы. Если вы используете Visual Studio.NET и переносили управляющие элементы Label мышью, а не добавляли их вручную, то осе уже сделано за вас. В самом верху класса WebForml, непосредственно перед конструктором должны появиться следующие строки:

public class WebForml : System.Web.UI.Page

I

protected Syseem.Web.UI.WebControls.Label QuestionLabelj protected System.Web.UI.WebControls.Label AnswerLabel;

Основное внимание мы уделим методу Page_Load(), который вызывается в тот момент, когда страница запрашивается браузером. Внутрь этого метода мы поместим код, отвечающий за' вывод текста вопроса, и добавим управляющие элементы HTML для каждого из возможных ответов. Давайте пройдем по данному методу шаг за шагом и разберем новый код. Сначала мы создаем объект класса рои и инициализируем его используя статический метод current о:

private void Page_J^ad( object sender. System.EventArgs e)

(

Poll aPoll » Pol1.Current();
Практический пример 1 — web-сайт для проведения опросов

769

Использование объекта Рои начинается в следующей строке; ои используется для выполнения присваивания значения свойству Text управляющего элемента Label (QuestionLabel):

QuestionLubel.Text « atoll.Question;

Несколько последующих строк предназначаются для организации цикла, который проходит по всем возможным ответам и выводит для каждого из них некоторый HTML. Обратите внимание на то, что для задания числа повторений цикла for используется свойство poll.AnswerCount. Мы также создаем строковую переменную, в которой будет храниться создаваемый нами HTML, и вставляем в нее два тега, ответственных за переход на новую строку;

string HtmlLink = *<Ъг /><Ьг />ш;

for(int i=lji<=aPoll,Ans* rCount;i++)

Для каждого из ответов требуется вывести текстовую ссылку с текстом "Vote" (“Голосую за”), а также текст самого ответа. Нужно внимательно следить за тем, чтобы ссылка действительно указывала на vote.aspx, а в значение URL включалось число, которое соответствует номеру выбранного ответа {например, при выборе ответа “С#” — это 1). HTML-код будет выглядеть следующим образом:

<а href="vote.aepx7id=l">Vote</a>&nbsp;CI<br />

Обратите также винмание на использование в конце строки тега <br />, который отвечает за то, чтобы каждый ответ на экране располагался иа отдельной строке, Для того чтобы более аккуратно отформатировать вывод, можно бы воспользоваться таблицей, но пока мы не будем ничего усложнять.

Запись *bnbsp;* расшифровывается как non-breaking space (неудаляемый пробел). Оиа заставляет браузер вставить пробел между текстом 'Vote* и текстом самого ответа (например, С#), т. е, эти две записи при выводе будут разделены строго одним пробелом. Для создания соответствующего HTML-кода нужно использовать некоторую строку (с именем HtmiLink), а также переменную i и свойство с массивом Answers объекта poll, для того чтобы вставить значение id и текст ответа. Код разбивается на две строки, поэтому он умещается на экране (обычно, если создаваемая текстовая строка занимает несколько строк на экране, следует воспользоваться классом StringBuilder):

HtmiLink += *<а href=\'vote.aspx7id="+i+*\*>VOte</a>';

HtmiLink +=* "Sribapi* + aPol 1 Answers {1 ] + -<br />’¦,

Теперь есть строковая переменная — HtmiLink, которая содержит HTML-код для одного из ответов. Далее следует перейти к очередной итерации цикла и добавить HTML-текст для следующего ответа, а потом присвоить текст второму управляющему элементу Label с помощью HTML-кода;

¦

AnswerLabel.Text = HtmiLink;

)

)

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

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

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

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

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