Еще немного об источниках данных
Как мы только что убедились, выводить содержимое объекта DataTabl e при помощи элементов управления WebForm (например, DataGrid) можно легко и просто. Однако достаточно часто возникает необходимость выводить на web-странице данные, которые хранятся другими способами. И в элементах управления WebForm предусмотрена возможность делать это, то есть выводить данные, которые находятся в каком угодно виде.
Например, предположим, что мы столкнулись со следующей ситуацией: нам необходимо заполнить элемент управления ListBox данными, которые в настоящее время хранятся в обычном строковом массиве (такая потребность возникает очень часто). Заполнение ListBox данными из этого массива производится точно так же, как заполнение данными DataGrid из объекта DataTable в предыдущем примере. Все удивительно просто:
protected void Page_load(object sender. EventArgs e)
{
if(IIsPostBack)
{
// Создаем массив строковых значений - он нам нужен // для нашей демонстрации
string[] carPetNames - { "Viper". "Hank". "Ottis". "Alponzo". "Cage". "ТВ" }: // petNameList - это наш элемент управления ListBox на странице petNameList.DataSource - carPetNames; petNameList.DataBindO; } }
To, что должно получиться, представлено на рис. 14.48.
Рис. 14.48. Привязываем данные к элементам управления WebForm
Код приложения ASPData можно найти в подкаталоге Chapter 14.
Все массивы .NET происходят от единого общего предка — класса System. Array, а в классе System. Array реализован интерфейс IEnumerable. Мы говорим это к тому, что любой класс, в котором реализован этот интерфейс, может быть привязан к элементу управления WebForm (да и Windows Forms) в качестве источника данных. Например, если данные находились в объекте ArrayLi st, все будет точно так же:
protected void Page_load(object sender, EventArgs e)
{
ifdlsPostBack)
{
// Теперь виесто обычного массива у нас - объект ArrayList ArrayList carPetNames = new ArrayListO:
carPetNames.Add("Vi per"): carPetNames.Add("Otti s"); carPetNames. AddC'Alphonzo"): carPetNames.Add("Cage"); carPetNames.AddС"ТВ"); petNameList.DataSource = carPetNames; petNameLi st.DataBi nd(): } }
Результат, естественно, остался тем же самым.
- Начальное руководство по разработкеweb-приложений и asp.Net.
- Разработка web-приложений и asp.Net
- Web-приложения и web-серверы
- Что такое виртуальные каталоги?
- Структура документа html
- Форматирование текста средствами html
- Заголовки html
- Html-редактор Visual Studio.Net
- Разработка форм html
- Создаем пользовательский интерфейс
- Добавление изображений
- Клиентские скрипты
- Пример клиентского скрипта
- Реализация проверки введенных пользователем данных
- Передаем данные формы (методы geTиPost)
- Синтаксис строки запроса http
- Создание классической страницы asp
- Принимаем данные, переданные методом post
- Первое приложение asp.Net
- Некоторые проблемы классических asp
- Некоторые преимущества asp.Net
- Пространства имен asp.Net
- Наиболее важные типы пространства имен System.Web
- Приложение и сеанс подключения пользователя
- Создание простого web-приложения на с#
- Исходный файл *.Aspx
- Файл web.Config
- Исходный файл Global.Asax
- Простой код asp.Net на с#
- Архитектура web-приложения asp.Net
- Тип System.Web.Ui.Page
- Связка *.Aspx/Codebehind
- Свойство Page. Request
- Свойство Page.Response
- Свойство Page.Application
- Отладка и трассировка приложений asp.Net
- Элементы управления WebForm
- Создание элементов управления WebForm
- Иерархия классов элементов управления WebForm
- Виды элементов управления WebForm
- Базовые элементы управления WebForm
- Группа переключателей
- Текстовое поле для ввода нескольких строк с полосой прокрутки
- Элементы управления с дополнительными возможности
- Элемент управления Calendar
- Элемент управления AdRotator (баннерная рулетка)
- Элемент управления для работы с источниками данных
- Элемент управления DataGrid
- Еще немного об источниках данных
- Элементы управления для проверки вводимых пользователем данных
- Обработка событий элементов управления WebForm
- Подведение итогов
- Web-cлужбы