Как связать выбранное значение DropDownList
Связывание данных - это все о декларативном коде, верно? Поэтому я указываю, что я хочу с атрибутами, и структура заботится обо всем остальном. Если я ошибаюсь и привязка данных относится к S & M, правильно?
Итак, почему элемент управления DropDownList предоставляет только поля привязки для своего источника данных, то есть его источник списка, а не его фактическое поле данных. например, как мне привязать выбранное значение мое имя DropDownList к полю Name в моей записи Person? Является ли это грубым недоверием к части Microsoft или моей?
Какова точка двусторонней привязки данных, если мне еще нужно вручную установить и прочитать выбранное значение?
Ответы
Ответ 1
Возможно, вы захотите сделать что-то вроде кода ниже.
Вы не можете установить "SelectedValue" декларативно, но, говоря
"SelectedValue = <% # [code here]% > , вы фактически вызываете значение, заданное, когда элемент управления привязан к данным.
<asp:DropDownList
ID="DropDownInfoSource"
runat="server"
DataSourceID="_employeeDataSource"
DataTextField="EmployeeName"
DataValueField="EmployeeID"
SelectedValue='<%# Bind("EmployeeID") %>'
/>
Ответ 2
Я не знаю, действительно ли это вам поможет, но пытались ли вы настроить "SelectedValue" на Code?
Пример:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
DropDownInfoSource.SelectedValue = "1" ' your value, here
End Sub
Ответ 3
Существует поле, в котором вы определяете источник данных, поле datatext (что отображается в списке) и поле datavalue.
Пример (у меня есть datatable с столбцом "EmployeeID" и столбец "EmployeeName" ):
dropdownlist1.datasource = DT
dropdownlist1.datatextfield = "EmployeeName"
dropdownlist1.datavaluefield = "EmployeeID"
dropdownlist1.databind()