- •1. Язык программирования c# 3
- •2. Базовые элементы .Net Framework 67
- •3. ТЕхнология .Net Remoting 144
- •Введение
- •1. Язык программирования c#
- •1.1. Платформа .Net – обзор архитектуры
- •1.2. Язык c# - общие концепции синтаксиса
- •1.3. Система типов языка c#
- •1.4. Преобразования типов
- •1.5. Идентификаторы, ключевые слова и литералы
- •1.6. Объявление переменных, полей и констант
- •1.7. Выражения и операции
- •1.8. Операторы языка c#
- •1.9. Объявление и вызов методов
- •1.10. Массивы в c#
- •1.11. Работа с символами и строками в c#
- •1.12. Синтаксис объявления класса, Поля и методы класса
- •1.13. Свойства и индексаторы
- •1.14. Конструкторы класса и Жизненный цикл объекта
- •1.15. Наследование классов
- •1.16. Перегрузка операЦий
- •1.17. Делегаты
- •1.18. События
- •1.19. Интерфейсы
- •1.20. Структуры и перечисления
- •1.21. Пространства имен
- •1.22. Генерация и обработка исключительных ситуаций
- •1.23. Нововведения в языке c# 2.0
- •1.24. Обобщенные типы (generics)
- •2. Базовые элементы .Net Framework
- •2.1. Метаданные и механизм отражения
- •2.2. Пользовательские и встроенные атрибуты
- •2.3. Пространство имен system.Collections
- •2.4. Работа с файлами и директориями
- •2.5. Использование потоков данных
- •2.6. Сериализация
- •2.7. Сериализация объектов в нестандартном формате
- •2.8. Введение в xml
- •2.9. Работа с xml-документами в .Net framework
- •2.10. МНогопоточное программирование
- •2.11. Синхронизация потоков
- •2.12. Асинхронный вызов методов
- •2.13. Состав и взаимодействие сборок
- •2.14. Конфигурирование сборок
- •3. ТЕхнология .Net Remoting
- •3.1. Домены приложений
- •3.2. Архитектура .Net Remoting
- •3.3. Активация удаленных объектов и их время жизни
- •3.4. Программная настройка Remoting
- •3.5. Удаленные Объекты с клиентской активацией
- •3.6. Настройка Remoting при помощи конфигурационных файлов
- •3.7. Хостинг распределенных приложений
- •3.8. Объекты-сообщения
- •3.9. Пользовательские канальные приемники
- •4.1. Архитектура ado.Net
- •4.2. Учебная база cd Rent
- •4.3. Соединение с базой данных
- •4.4. Выполнение команд и запросов к базе данных
- •4.5. Чтение данных и объект DataReader
- •4.6. Параметризированные запросы
- •4.7. Рассоединенный набор данных
- •4.8. Заполнение Рассоединенного набора данных
- •4.9. Объект класса DataColumn – колонка таблицы
- •4.10. Объекты класса DataRow – строки таблицы
- •4.11. Работа с объектом класса DataTable
- •4.12. DataSet и схема рассоединенного набора данных
- •4.13. Типизированные DataSet
- •4.14. Поиск и фильтрация данных в DataSet
- •4.15. Класс DataView
- •4.16. СиНхронизация набора данных и базы
- •5.1. Архитектура и общие концепции asp.Net
- •5.2. Пример aspx-страницы. Структура страницы
- •5.3. Директивы страницы
- •5.4. Класс System.Web.Ui.Page. События страницы
- •5.5. Серверные элементы управления
- •5.6. Элементы управления Web Controls
- •5.7. Проверочные элементы управления
- •5.8. Списковые элементы управления
- •5.9. Связывание данных
- •5.11. Управление состояниями в web-приложениях
- •5.12. Кэширование
- •5.13. Безопасность в web-приложениях
- •5.14. Создание пользовательских элементов управления
- •Литература
5.8. Списковые элементы управления
Списковые элементы управления обеспечивают различные способы представления списков и таблиц на aspx-странице. Название и назначение списковых элементов приведено в таблице 45.
Таблица 45
Списковые элементы управления
Элемент управления |
Описание |
DropDownList |
Создает на странице элемент <select> с атрибутом size="1", то есть раскрывающийся список с одной видимой строкой. Этот список можно заполнить при помощи элементов управления ListItem (тег <asp:ListItem>) или посредством связывания данных |
ListBox |
Создает элемент <select> с атрибутом size="n", чтобы построить обычное поле списка с единичным или множественным выбором и более чем одной видимой строкой. Этот список можно заполнить при помощи элементов управления ListItem или посредством связывания данных |
CheckBoxList |
Создает HTML-элемент <table> или простой список, содержащий HTML-флажки. Список можно заполнить при помощи элементов ListItem или посредством связывания данных |
RadioButtonList |
Создает HTML-элемент <table> или простой список, содержащий HTML-переключатели. Список можно заполнить при помощи элементов ListItem или посредством связывания данных |
ListItem |
Это класс для представления отдельного элемента некоторых списков |
Repeater |
Повторяет содержимое, указанное один раз, для каждого исходного элемента источника данных, связанного с элементом управления |
DataList |
Создает HTML-элемент <table>, содержащий строки для каждого элемента источника данных, связанного с элементом управления. Настраиваются шаблоны, которые определяют содержимое и вид каждой строки |
DataGrid |
Создает HTML-элемент <table>, используемый совместно со связыванием данных на стороне сервера и имеющий встроенные средства поддержки выборки, сортировки и редактирования строк |
Элементы DropDownList, ListBox, CheckBoxList и RadioButtonList имеют общего предка – класс ListControl. Полезные свойства данного класса описываются в таблице 46.
Таблица 46
Свойства класса ListControl
Имя свойства |
Описание |
AutoPostBack |
Булево значение; показывает, будет ли страница автоматически отправляться на сервер при изменении пользователем выбора в списке |
DataMember |
Имя таблицы в DataSource, которая является источником данных для значений списка при заполнении списка путем связывания данных. Свойство используется, если DataSource содержит более одной таблицы (например, если DataSource содержит DataSet) |
DataSource |
Источник данных для значений списка при заполнении списка путем связывания данных |
DataTextField |
Имя поля в DataSource, содержимое которого будет отображаемым текстом элементов списка |
DataTextFormatString |
Строка форматирования для значений из DataTextField (например, {0:C} для денежных сумм) |
DataValueField |
Имя поля в DataSource, содержимое которого будет значением элементов списка (свойство Value объекта ListItem) |
Items |
Коллекция элементов ListItem, содержащихся в списке |
SelectedIndex |
Индекс первого выбранного элемента в списке1 |
SelectedItem |
Ссылка на первый выбранный элемент ListItem |
SelectedValue |
Значение первого выбранного элемента ListItem. Если у элемента задано свойство Value, то возвращается именно оно. Иначе возвращается значение свойства ListItem.Text |
Кроме описанных свойств класс ListControl предоставляет событие OnSelectedIndexChanged(). Оно возникает на сервере, когда выбор в списке изменяется и страница пересылается на сервер.
Каждый списковый элемент добавляет к своему базовому классу некоторые специфичные свойства и методы. Они приведены в таблице 472.
Таблица 47
Специфичные свойства списковых элементов управления
Элемент управления или объект |
Свойства и методы |
DropDownList |
|
ListBox |
Rows |
CheckBoxList |
CellPadding, CellSpacing, RepeatColumns, RepeatDirection, RepeatLayout, TextAlign |
RadioButtonList |
CellPadding, CellSpacing, RepeatColumns, RepeatDirection, RepeatLayout, TextAlign |
ListItem |
Attributes, Selected, Text, Value, метод FromString() |
Следующий пример показывает использование элемента управления CheckBoxList. Для элемента управления при помощи редактора свойств были определены значения Text и Value отдельных строк. Настроены свойства ID, CellPadding, CellSpacing, RepeatColumns, RepeatDirection. При нажатии на кнопку Send страница обрабатывается на сервере и выводится информация о выбранных пользователем значениях.
<%@ Page Language="C#"%>
<script runat="server">
protected void Send_Click(object sender, EventArgs e) {
if(CBL1.SelectedIndex != -1) {
Label1.Text = "";
foreach(ListItem LI in CBL1.Items)
if(LI.Selected)
Label1.Text += LI.Text + " " + LI.Value + " ";
}
else Label1.Text = "No Item Selected";
}
</script>
<html>
<body>
<form id="form1" runat="server">
<asp:CheckBoxList ID="CBL1" runat="server" CellPadding="2"
CellSpacing="5" RepeatColumns="2"
RepeatDirection="Horizontal">
<asp:ListItem Value="1">Monday</asp:ListItem>
<asp:ListItem Value="2">Tuesday</asp:ListItem>
<asp:ListItem Value="3">Wednesday</asp:ListItem>
<asp:ListItem Value="4">Thursday</asp:ListItem>
<asp:ListItem Value="5">Friday</asp:ListItem>
<asp:ListItem Value="6">Saturday</asp:ListItem>
<asp:ListItem Value="7">Sunday</asp:ListItem>
</asp:CheckBoxList>
<asp:Button ID="Send" runat="server" Text="Send"
OnClick="Send_Click" /> <br />
<asp:Label ID="Label1" runat="server"></asp:Label>
</form>
</body>
</html>
Вид страницы в браузере после выбора нескольких элементов и нажатия кнопки Send показан на рисунке 20.
Рис. 20. Страница с элементом управления CheckBoxList