Симон Робинсон - 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 - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Мы используем параметр TagPrefix
таким же образом, как и раньше, но не используем атрибуты TagName
или Src
. Это связано с тем, что сборка специального элемента управления может содержать несколько специальных элементов управления, и каждый из них будет именован согласно своему классу, поэтому TagName
является лишним. Кроме того, так как сборка находится в каталоге bin
, мы можем использовать средства платформы .NET для динамического обнаружения требуемой сборки просто по имени и пространству имен в ней, которое содержит элементы управления.
Выше, в примере строки кода, мы говорим, что хотим использовать сборку с именем PCSCustomWebControls.dll
с элементами управления в пространстве имен PCSCustomWebControls
, и при этом используем префикс PCS
. Если в этом пространстве имен имеется элемент управления с именем Control1
, то можно использовать его с кодом ASP.NET:
С помощью специальных элементов управления можно также воспроизвести некоторое вложенное поведение элементов управления, такое, как мы видим в списке элементов управления:
The Happy Room
The Angry Room
The Depressing Room
The Funked Out Room
Можно создать очень похожим образом элементы управления, которые интерпретируются как потомки других элементов управления. Позже в этой главе мы увидим, как это делается.
Конфигурация проекта специального элемента управления
Применим часть этой теории на практике. Мы будем использовать для простоты единственную сборку для хранения всех специальных элементов управления примера этой главы, которую можно создать в Visual Studio.NET, выбирая новый проект типа Web Control Library. Назовем нашу библиотеку PCSCustomWebControls
:

Здесь проект создан в каталоге wwwroot
, хотя это и не обязательно. Библиотеки элементов управления Web можно создавать где угодно, необходимо только скопировать созданную сборку в каталог bin
приложения Web, которое ее использует.
Один из технических приемов, применяемых для упрощения тестирования одиночного решения, состоит в добавлении проекта приложения Web к тому же решению:

В данный момент это единственное приложение, которое будет использовать нашу библиотеку специального элемента управления, поэтому для ускорения работы определим, что выводимая сборка библиотеки создается в правильном каталоге bin
(то есть нам не нужно копировать файл после каждой перекомпиляции). Это можно сделать с помощью страниц свойств проекта PCSCustomWebControls
:

Отметим, что здесь в раскрывающемся списке Configuration выбран элемент All Configurations, поэтому отладочная и окончательная сборка будут помещены в одном месте. Output Path был изменен на C:\Inetpub\wwwroot\PCSCustomWebControlsTestApp\bin Чтобы облегчить отладку можно также изменить значение Start URL на странице свойств Debugging на http://localhost/PCSCustomWebControlsTestApp/WebForm1.aspx, a Debug Mode - на URL таким образом, чтобы увидеть результаты, проект можно выполнять просто в режиме отладки.
Убедимся, что все это работает, протестировав элемент управления, который поставляется по умолчанию в файле .cs
для библиотеки специального элемента управления, называемой WebCustomControl1
. Нам нужно внести следующие изменения в код WebForm1.aspx
, который просто ссылается на вновь созданную библиотеку элемента управления и встраивает используемый по умолчанию элемент из этой библиотеки в тело страницы:
Теперь, пока библиотека PCSCustomWebControls
сконфигурирована как приложение запуска, можно нажать кнопку Debug, чтобы увидеть результаты работы:

Добавим также ссылку на проект PCSCustomWebControls
в раздел тестирования приложений:

Затем добавим инструкцию using
в пространство имен PCSCustomWebControlsTestApp
в WebForm1.aspx.cs
:
using PCSCustomWebControls;
Это позволит нам использовать наши специальные элементы управления из кода, скрытого за формой.
Базовые специальные элементы управления
Как можно предположить из результатов предыдущего раздела, образец элемента управления, создаваемый по умолчанию, является версией стандартного элемента управления . Создаваемый в файле .cs
код проекта, WebCustomControl1.cs
, выглядит следующим образом:
namespace PCSCustomWebControls {
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;
///
/// Краткое описание WebCustomControl1
///
[DefaultProperty("Text"),
ToolboxData("<{0}WebCustomControl1 runat=server></{0}:WebCustomControl1>")]
public class WebCustomControl1 : System.Web.UI.WebControls.WebControl {
private string text;
[Bindable(true), Category("Appearance"), DefaultValue(" ")]
public string Text {
get {
return text;
}
set {
text = value;
}
}
///
/// Предоставить этот элемент управления указанному параметру вывода.
///
/// The HTML writer to write out to
protected override void Render(HtmlTextWriter output) {
output.Write(Text);
}
}
}
Начальные инструкции using
для пространств имен вполне стандартны.
Здесь определен единственный класс WebCustomControl1
(отметим, как имя класса отображается прямо в элемент ASP.NET в простом примере, только что увиденном), который является производным из класса WebControl
, как обсуждалось ранее. Для этого класса предоставлены два атрибута: DefaultProperty
и ToolboxData
. Атрибут DefaultProperty
определяет, какое свойство будет использоваться по умолчанию для элемента управления в языках, которые поддерживают эту функциональность. Атрибут ToolboxData
точно определяет, какой код HTML будет добавлен к странице .aspx
, если этот элемент управления добавляется с помощью инструментальной панели Visual Studio (когда проект откомпилирован, можно добавить элемент управления в панель инструментов, конфигурируя панель инструментов для использования созданной сборки).
Класс содержит одно свойство: Text
. Это очень простое текстовое свойство, похожее на те, которые встречались раньше. Здесь необходимо отметить только три атрибута:
□ Bindable
— показывает, может ли свойство быть связано с данными.
□ Category
— задает, будет ли свойство выводиться на страницах свойств.
Интервал:
Закладка: