Проблема

Ранее вы уже видели пример, который разрешает пользователям просматривать список городов в разных регионах с использованием двух связанных элементов управления — DropDownList и GridView. Лучше всего эти примеры можно реализовать, используя SqlDataSource или ObjectDataSource; в обоих случаях это не требует никакого пользовательского кода. На рис. 9.9 был показан такой пример.

Этот пример демонстрирует проблему, которую непросто решить. Поскольку невозможно создать выпадающий список, не имеющий выбранного значения (если он не пуст), то первый город в списке выбирается автоматически. Многие Web-приложения применяют другое поведение, и добавляют дополнительный элемент на вершине списка с текстом вроде "(Choose a City)" ("Выберите город"). Выбор этого первого элемента не дает никакого эффекта. Дополнительно вы можете пожелать добавить элемент, который позволит видеть каждый город в едином списке.

На рис. 9.13 демонстрируется необходимый результат.

Но как же можно реализовать эту модель с привязкой данных? Одна из немногих слабостей модели привязки данных заключается в том, что вы никогда явно не обрабатываете и не создаете объект данных, привязанный к элементу управления. Как результат, у вас нет шансов добавить дополнительные пункты в список. Фактически этот пример представляет две сложности: определение того, как добавить дополнительные элементы в список, и как реагировать на их выбор, чтобы переопределить автоматическую логику запроса.

Рис. 9.13. Привязка данных с дополнительными элементами

предыдущая    следующая страница   оглавление

414

Hosted by uCoz