Отображаемое значение веб-элемента управления данными против идентификатора вставки (внешнего ключа) для хранимых процедур - PullRequest
0 голосов
/ 20 сентября 2011

У меня есть серия комбинированных списков, созданных из ASP.NET DropDownLists (заполняемых из команды выбора из SqlDataSource с помощью DataSourceID), элемента и плагина автозаполнения jQueryUI. Вы можете игнорировать последние два, хотя.

Каждый из элементов управления DropDownList представляет определенную категорию «Пользователь» и динамически заполняется на основе таблицы Users для этой категории. Вот структура базы данных:

Users (ID, Name) -- I use a join to display the Name, but I wish to USE the ID.
Team (ID, Member1, Member2, Member3) --each member is a foreign key to the
                                     --"Users" table and used to populate the
                                     --DropDownLists respectively.

ВОПРОС : Мне нужно знать, как отобразить поле Name в элементе управления, но на самом деле использовать ID выбранного значения в качестве входных данных для моей хранимой процедуры.

  • Кроме того, было бы неплохо использовать один запрос и SqlDataSource для заполнения всех раскрывающихся списков. В настоящее время я использую отдельный оператор «select» для каждой из 13 категорий пользователей.

1 Ответ

1 голос
/ 20 сентября 2011

дополнительно было бы неплохо использовать один запрос и SqlDataSource заполнить все выпадающие. В настоящее время я использую отдельный оператор 'select' для каждой из 13 категорий пользователей, которые у меня есть.

К сожалению, вы должны использовать отдельные источники данных, так как это не поддерживается, если вы используете SQLDataSource.

Чтобы использовать идентификатор пользователя, установите для DataValueField значение ID (при условии, что имя столбца является идентификатором, как вы указали)

Чтобы отобразить имя пользователя, установите для DataTextField значение Name (при условии, что в качестве имени столбца указано Имя, как вы указали)

Следовательно, DropDownList должен выглядеть следующим образом:

<asp:dropdownList id="your_id" DataTextField="Name" 
DataSourceID="YourSqlDataSourceID" DataValueField="ID" runat="server" />

Связывание документации MSDN.

...