Как свзязать DropDownList с источником данных и добавить первым значением текстовое значение
В процессе практики встала задача заполнить DropDownList значениями из базы данных (id, name).
Делается это просто, кидаем на форму DropDownList и SqlDataSource. Для SqlDataSource - указываем строку подключения к базе данных и запрос, который будет выбирать данные. В DropDownList указываем какой DataSource использовать (DataSourceID="SqlDataSource1"), а также настраиваем что будет отображаться (DataTextField="name"), а что будет в качестве значения DataValueField="id". Вот в общем то и все.
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString1%>"
SelectCommand="SELECT id,name FROM users">
</asp:SqlDataSource>
как результат будет приблизительно (зависит от того что вы будете выбирать из БД) такой выпадающий список:
Но вот здесь возникает вопрос: "Как сделать так, чтобы сначала в списке отображалось например - Выберите пользователя или Выберите значение"?
Сначала пробовал программно и через окно Properties - не получилсь, т.к. похоже что DropDownList при датабиндинге сначала очищает все значения, а потом заполняет новыми.
В общем решение нашлось такое - решил сделать так чтобы "Выберите значение" было первой строчкой в передаваемом наборе данных. Сделать это можно с помощью оператора UNION в MSSQL.
Запрос получился вот такой:
SELECT '-1' AS id,'Выберите значение' AS name UNION ALL SELECT id,name FROM users
Обязательно надо дать псевдонимы столбцам, иначе DropDownList попросту не поймет где id, а где name.
Результат вот такой список
Комментарии
Ваш комментарий к данному материалу будет интересен нам и нашим читателям!
Делается это просто, кидаем на форму DropDownList и SqlDataSource. Для SqlDataSource - указываем строку подключения к базе данных и запрос, который будет выбирать данные. В DropDownList указываем какой DataSource использовать (DataSourceID=SqlDataSource1), а также настраиваем что будет отображаться (DataTextField=name), а что будет в качестве значения DataValueField=id. Вот в общем то и все... подробнее
Файл web.config используется для хранения глобальных параметров web-приложения. В файле web.config удобно хранить настройки для веб-приложения, ну хоть бы и параметры подключения к базе данных. В общем виде параметр добавляется так... подробнее
Сегодня попробуем смастерить форму для загрузки файла на сервер с помощью технологии ASP .NET
Итак, моздаем новый сайт в Visual Studio 2005 с сразу в папке проекта создаем папку files в которую будут попадать загруженные файлы... подробнее
Думаю многие хотя бы раз задавались вопросом: есть ли в ASP .NET include (инклуд) файлов, как например в PHP и SSI. Конечно в ASP .NET есть свои примочки такие как MasterPage и UserControls. Но все таки можно ли include?? :) Можно... подробнее