Симон Робинсон - C# для профессионалов. Том II
- Название:C# для профессионалов. Том II
- Автор:
- Жанр:
- Издательство:Лори
- Год:2003
- Город:Москва
- ISBN:5-85582-187-0
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Симон Робинсон - C# для профессионалов. Том II краткое содержание
Платформа .NET предлагает новую среду, в которой можно разрабатывать практически любое приложение, действующее под управлением Windows, а язык C# — новый язык программирования, созданный специально для работы с .NET.
В этой книге представлены все основные концепции языка C# и платформы .NET. Полностью описывается синтаксис C#, приводятся примеры построения различных типов приложений с использованием C# — создание приложений и служб Windows, приложений и служб WWW при помощи ASP.NET, а также элементов управления Windows и WWW Рассматриваются общие библиотеки классов .NET, в частности, доступ к данным с помощью ADO.NET и доступ к службе Active Directory с применением классов DirectoryServices.
Для кого предназначена эта книгаЭта книга предназначена для опытных разработчиков, возможно, имеющих опыт программирования на VB, C++ или Java, но не использовавших ранее в своей работе язык C# и платформу .NET. Программистам, применяющим современные технологии, книга даст полное представление о том, как писать программы на C# для платформы .NET.
Основные темы книги• Все особенности языка C#
• C# и объектно-ориентированное программирование
• Приложения и службы Windows
• Создание web-страниц и web-служб с помощью ASP NET
• Сборки .NET
• Доступ к данным при помощи ADO NET
• Создание распределённых приложений с помощью NET Remoting
• Интеграция с COM, COM+ и службой Active Directory
C# для профессионалов. Том II - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Давайте добавим пару элементов управления сервера Web в наш проект. Все элементы управления сервера Web и проверкой достоверности даются в следующей форме типа элемента XML:
Contents
Здесь X
является именем элемента управления сервера ASP.NET, attribute="value"
является одной или несколькими спецификациями атрибутов, a Contents определяет содержимое элемента управления, если оно существует. Некоторые элементы управления позволяют задавать свойства с помощью атрибутов и содержимого элемента управления, например, Label
(используемый для вывода простого текста), где текст можно определить любым образом. Другие элементы управления могут использовать схему вложенности элементов для определения их иерархии, например, Table
(определяющий таблицу), который может содержать элементы TableRow
, чтобы декларативно определить строки таблицы.
Отметим, что, так как синтаксис элементов управления основывается на XML (хотя они могут использоваться встроенными в код, не являющийся XML, такой как HTML, будет ошибкой отсутствие закрывающих тегов, отсутствие />
для пустых элементов или перекрытие элементов управления.
Наконец, мы снова видим атрибут runat="server"
в элементе управления сервера Web. Он важен здесь так же, как и в других местах, и распространенной ошибкой является пропуск этого атрибута, приводящий к неработающим формам Web.
В первом примере мы делаем все простым способом. Измените представление в виде кода HTML для WebForm1.aspx
так:
Обратите внимание, что при вводе этого кода VS пытается предсказать ввод так же, как это делается при создании кода C#.
Здесь мы добавили два элемента управления формы Web — метку и кнопку.
Возвращаясь к окну построения, можно увидеть, что были добавлены эти элементы управления, именованные с помощью своих атрибутов ID
. Как и для форм Windows, мы имеем полный доступ к свойствам, событиям и т.д. через окно Properties, и можем видеть немедленные изменения в коде или визуальном представлении, когда производятся эти изменения.
Теперь посмотрим еще раз на WebForm1.aspx.cs
. Мы видим, что к классу WebForm1
были добавлены следующие два члена:
protected System.Web.UI.WebControls.Button triggerButton;
protected System.Web.UI.WebControls.Label resultLabel;
Любые добавляемые серверные элементы управления автоматически будут становиться частью объектной модели создаваемой формы.
Чтобы приложение действительно что-то делало, давайте добавим обработчик событий для нажатия кнопки. Здесь мы можем либо ввести имя метода в окне Properties для кнопки, либо просто сделать двойной щелчок на кнопке, чтобы получить используемый по умолчанию обработчик событий. Если сделать двойной щелчок на кнопке, то автоматически добавится следующий метод обработки события:
protectеd void triggerButton_Click(object sender, System EventArgs e) {
}
Он соединяется с кнопкой с помощью кода, добавляемого в InitializeComponent()
:
private void InitilizeComponent()
this.triggerButton.Click += new System.EventHandler(this.triggerButton_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
Изменим код в triggerButton_Click()
следующим образом:
protected void triggerButtor_Click(object sender, System.EventArgs e) {
resultLabel.Text = "Button clicked:";
}
Теперь мы готовы к запуску приложения. Строим приложение в VS обычным образом, все файлы будут откомпилированы и/или помещены на сервер Web готовыми к использованию. Чтобы протестировать приложение Web, можно либо запустить приложение (что предоставит весь набор средств отладки VS), либо просто направить браузер на адрес http://localhost/PCSWebAppl/webForm1.aspx
. В любом случае можно будет увидеть кнопку Click Me на странице Web. До нажатия кнопки посмотрим на код, полученный браузером, с помощью View|Source (в IE). Раздел
value="dDwtMzQ3NzI5OTM4Ozs+0RD39htoKLKMO7Yf41cFXM2GjQU=" />
Элементы управления сервера Web сгенерировали правильный код HTML — и для и , соответственно. Также существует поле с именем _VIEWSTATE
. Оно инкапсулирует состояние формы, как это упоминалось ранее. Эта информация используется, когда форма посылается назад на сервер для воссоздания UI, отслеживания изменений и т.д. Отметим, что для этого был сконфигурирован элемент
WebForm1.aspx
(определенное в action
) с помощью операции HTTP POST (определенной в method
). Ему было также присвоено имя ctrl1
. Если посмотреть на HTML, сгенерированный более сложными формами Web, то можно увидеть, что это обычный тип присваивания и он соответствует способу, которым работает ASP.NET.После нажатия на кнопку и появления текста проверьте снова исходный код HTML (пробелы добавлены для ясности)
value="dDwtMzQ3NzI5OTM4O3Q802w8MTwxPjs+ O2wbdDw7bDwxPDE+Oz47bDx0 PHA8cDxsPFR1eHQ7PjtsPEJ1dHRvbiBjbGlj a2VkITs+Pjs+Ozs+Oz4+Oz4+Oz6TChBE9Yvrgb7dL38o2VsGzc/RgA==" />
Button clicked
В этот раз значение VIEWSTATE
содержит больше информации, так как результат HTML опирается не только на используемый по умолчанию вывод страницы ASP NET. В сложных формах это может быть на самом деле очень длинная строка, но мы не должны выражать недовольства, так как очень много было сделано для нас "за сценой".
Палитра элементов управления
В этом разделе мы кратко рассмотрим доступные элементы управления, прежде чем соберем их вместе в большом и более интересном приложении. Этот раздел поделен на элементы управления сервера Web и элементы управления проверкой достоверности. Обратите внимание, что в описаниях элементов упрaвлeния ссылка идет на "свойства", во всех случаях соответствующий атрибут для использования в коде ASP.NET называется идентично. Здесь представлены только наиболее часто используемые свойства.
Все элементы управления сервера Web наследуются из класса System.Web.UI.WebControls.WebControl
, который, в свою очередь, наследуется из класса System.Web.UI.Control
. В связи с этим они обладают многими общими свойствами и событиями, которые при необходимости можно использовать. Их достаточно много, поэтому не все они будут здесь показано, также как и свойства, и события самих элементов управления сервера Web.
Многие из часто используемых унаследованных свойств имеют дело со стилем вывода изображения с помощью таких свойств, как ForeColor
, Backcolor
, Font
и т. д. Но можно прибегнуть также к помощи классов CSS (каскадных таблиц стилей), задавая для строкового свойства CssClass
имя класса CSS в отдельном файле. Другими примечательными свойствами являются Width
и Height
для размера элемента управления, AccessKey
и TabIndex
для облегчения взаимодействия пользователя, и Enabled
для определения того, что функциональность элемента управления обеспечивается в форме Web.
Интервал:
Закладка: