Серверні елементиуправління DropDownList і ListBox в 2
Серверні елементи керування DropDownList і ListBox в ASP.NET 2.0, додавання значень до списків з бази даних та програмним чином
Елементи керування DropDownList (Спадаючий список) та ListBox (Список) призначені для того, щоб дати користувачеві можливість вибору або представленого йому списку значень. Елементи керування DropDownList та ListBox за набором властивостей та подій дуже схожі (див. рис. 4.5.5-1). Відрізняються вони лише поданням даних, а також тим, що елемент керування ListBox можна використовувати для того, щоб надати користувачеві можливість вибрати декілька значень одночасно. Зазвичай частіше використовується елемент DropDownList , який займає менше місця на сторінці, а ListBox , як правило, використовується для зберігання проміжного набору значень, вибраного користувачем. У цьому випадку поруч зі списком можна розмістити, наприклад, кнопки Додати та Видалити.

Мал. 4.5.5-1 Елементи управління ListBox (вгорі) та DropDownList (внизу)
На відміну від розглянутих раніше елементів керування, елементи керування DropDownList та ListBox не вдасться використовувати без додаткових налаштувань. Як мінімум, необхідно забезпечити їх списком значень, з яких зможе вибирати користувач. Тому відразу ж після додавання такого елемента управління на сторінку в режимі дизайнера у вашому розпорядженні з'являється майстер, який дозволяє налаштувати необхідні параметри (див. рис. 4.5.5-2). Якщо майстер був випадково закритий, відкрити його можна, натиснувши на стрілку в правій верхній частині елемента управління.
Мал. 4.5.5-2 Майстер для налаштування спадного списку
За допомогою посилання Choose Data Source (Вибрати джерело даних) можна налаштувати підключення до бази даних та вибрати таблицюабо представленні два стовпці: значення з першого стовпця будуть відображатися в спадному списку, а значення з другого стовпця реально передаватися при виборі користувачем значень у списку. Наприклад, у першому стовпці може бути найменування товару, а у другому його ідентифікатор.
Якщо ви скористаєтеся посиланням Edit Items (Змінити елементи), відкриється вікно ListItem Collection Editor , в якому вам буде запропоновано визначити значення для вибору користувачем вручну. Для кожного елемента, що додається до списку, вам буде запропоновано визначити чотири параметри:
- Text — значення, яке відображатиметься користувачеві;
- Value - значення, яке реально передаватиметься даним елементом управління додатком ASP.NET ;
- Enabled — чи буде це значення доступним;
- Selected — Вибрати значення за промовчанням.
Якщо ви хочете додавати значення для списку програмним способом, то для цієї мети можна використовувати метод Add() колекції Items для даного елемента керування на сторінці codebehind :
ListBox1.Items.Add( New ListItem( "Carbon" , "C" ))
ListBox1.Items.Add( New ListItem( "Oxygen", "O"))
Зазвичай такий код поміщається у подію Load для сторінки. При цьому за допомогою властивості IsPostBack для сторінки перевіряється, чи відкривалася ця сторінка користувачеві (щоб не додавати набір значень ще раз при кожному відкритті сторінки).
Головна властивість елементів керування ListBox і DropDownList - властивість Text. Ця властивість дозволяє отримати інформацію про значення, яке вибрано користувачем (або налаштувати таке значення). У попередніх версіях ASP. NET для цієї мети використовувалося властивість SelectedValue, яке в ASP. NET 2.0 залишено тільки длязабезпечення зворотної сумісності. Інші важливі властивості цього елемента управління:
- AutoPostBack (ця властивість можна також налаштувати за допомогою майстра - див. рис. 4.5.5-2) - для цієї властивості за замовчуванням використовується значення false , що означає: при зміні користувачем значення в цьому елементі управління не передавати інформацію про це на сервер ( а дочекатися, наприклад, поки користувач натисне кнопку "Надіслати" і тільки після цього передавати значення). Встановлювати для цієї властивості значення True є сенс лише тоді, коли жодних подібних кнопок на формі не передбачено і починати обробку інформації потрібно відразу після вибору користувачем значення;
- CausesValidation — визначає, чи перевірятиметься після вибору користувачем значення у цьому елементі управління;
- Items — це властивість дозволяє повернути колекцію елементів, які розміщені в цьому списку для вибору користувачем. Цю колекцію можна використовувати для програмного додавання або видалення елементів.
- SelectionMode (для елемента ListBox ) — ця властивість дозволяє визначити, чи можна користувачеві вибирати відразу кілька значень. За промовчанням для нього використовується значення single. Якщо встановити значення multiple , можна буде вибирати кілька значень одночасно.
- ValidationGroup — дозволяє визначити групу елементів, для яких буде здійснено перевірку значень після зміни значення в даному елементі керування.
Головна подія для елементів керування DropDownList і ListBox - подія TextChanged (тобто користувач вибрав значення). Однак відразу відзначимо, що його можна використовувати тільки тоді, коли для AutoPostBack встановлено значення true .