Добавление статических элементов и результатов с помощью Visual C# из привязки данных в элемент управления DropDownList
В этой статье показано, как добавлять статические элементы и привязанные к данным элементы в элемент управления DropDownList. В примере в этой статье элемент управления DropDownList заполняется начальным элементом.
Исходная версия продукта: Visual C#
Исходный номер базы знаний: 312489
Требования
В следующем списке перечислены рекомендуемые оборудование и программное обеспечение, которые вам нужны.
- Microsoft Windows
- .NET Framework
- Visual Studio .NET
- Службы IIS
- SQL Server
В этой статье рассматриваются следующие платформа .NET Framework пространства System.Data.SqlClient
имен библиотеки классов .
Создание веб-приложения ASP.NET с помощью Visual C#
Чтобы создать веб-приложение ASP.NET с именем DDLSample, выполните следующие действия.
- Откройте Visual Studio .NET.
- В меню Файл выберите пункт Создать, а затем выберите Проект.
- В диалоговом окне Новый проект выберите Проекты Visual C# в разделе Типы проектов, а затем выберите ASP.NET веб-приложение в разделе Шаблоны.
- В поле Расположение замените WebApplication1 в URL-адресе по умолчанию на DDLSample. Если вы используете локальный сервер, можно оставить имя сервера как
http://localhost
, чтобы в поле Расположение отображалосьhttp://localhost/DDLSample
значение .
Создание примера
На следующих шагах вы создадите .aspx страницу, содержащую элемент управления DropDownList. Элемент управления DropDownList — это данные, привязанные к столбцам Authors
таблицы из базы данных SQL Server Pubs.
Чтобы добавить веб-форму в проект, выполните следующие действия:
- Щелкните правой кнопкой мыши узел проекта в Обозреватель решений, выберите Добавить, а затем — Добавить веб-форму.
- Присвойте DropDown.aspx странице .aspx имя и нажмите кнопку Открыть.
Убедитесь, что страница открыта в режиме конструктора в редакторе. Добавьте на страницу элемент управления DropDownList. В области Свойства измените идентификатор элемента управления на AuthorList.
Добавьте элемент управления Label на страницу после элемента управления DropDownList. В области Свойства измените идентификатор элемента управления на CurrentItem.
Добавьте элемент управления Button на страницу после элемента управления Label. В области Свойства измените идентификатор элемента управления на GetItem, а затем измените свойство Text на Get Item.
Щелкните страницу правой кнопкой мыши и выберите пункт Просмотреть код. Откроется файл класса программной части в редакторе.
System.Data.SqlClient
Добавьте пространство имен в файл класса программной части, чтобы пример кода правильно функционировал. Полный список пространств имен должен выглядеть следующим образом.using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.Data.SqlClient;
Добавьте следующий код в
Page_Load
событие.private void Page_Load (object sender, System.EventArgs e) { if (!IsPostBack) { SqlConnection myConn = new SqlConnection ( "Server=localhost;Database=Pubs;Integrated Security=SSPI"); SqlCommand myCmd = new SqlCommand ( "SELECT au_id, au_lname FROM Authors", myConn); myConn.Open (); SqlDataReader myReader = myCmd.ExecuteReader (); //Set up the data binding. AuthorList.DataSource = myReader; AuthorList.DataTextField = "au_lname"; AuthorList.DataValueField = "au_id"; AuthorList.DataBind (); //Close the connection. myConn.Close (); myReader.Close (); //Add the item at the first position. AuthorList.Items.Insert (0, "<-- Select -->"); } }
Чтобы использовать встроенную безопасность в строке подключения, измените файлWeb.config для приложения и присвойте
impersonate
атрибутуidentity
элемента конфигурации значение true, как показано в следующем примере.<configuration> <system.web> <identity impersonate="true" /> </system.web> </configuration>
Дополнительные сведения см. в разделе олицетворение ASP.NET.
Измените строка подключения в соответствии с вашей средой.
Перейдите в представление Конструктор в редакторе для страницы .aspx. Дважды щелкните GetItem. Добавьте следующий код в
GetItem_Click
событие в файл класса программной части.private void GetItem_Click (object sender, System.EventArgs e) { string itemText = AuthorList.SelectedItem.Text; string itemValue = AuthorList.SelectedItem.Value; CurrentItem.Text = string.Format ( "Selected Text is {0}, and Value is {1}", itemText, itemValue); }
В меню Файл выберите Сохранить все , чтобы сохранить веб-форму и другие связанные файлы проекта.
В меню Сборка интегрированной среды разработки Visual Studio .NET выберите Сборка , чтобы выполнить сборку проекта.
В Обозреватель решений щелкните правой кнопкой мыши страницу .aspx и выберите пункт Просмотр в браузере. Обратите внимание, что страница откроется в браузере, а раскрывающийся список заполнен начальными данными.
Выберите элемент в раскрывающемся списке. Обратите внимание, что элемент управления CurrentItem Label отображает выбранный элемент. Кроме того, обратите внимание, что список сохраняет текущую позицию и статическую запись.
Устранение неполадок
- Необходимо поместить код, чтобы добавить статический элемент в коллекцию
ListItem
элемента управления после кода привязки данных. Если не добавить код в этом порядке, список создается повторно с кодом привязки данных, который перезаписывает статическую запись. - Пример кода проверяет свойство,
IsPostBack
чтобы предотвратить повторное создание списка. Кроме того, этот код проверяетIsPostBack
сохранение выбранного элемента в текущей позиции списка между круговой передачой на сервер.
Ссылки
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по