Подтвердить что ты не робот

Как связать выбранное значение DropDownList

Связывание данных - это все о декларативном коде, верно? Поэтому я указываю, что я хочу с атрибутами, и структура заботится обо всем остальном. Если я ошибаюсь и привязка данных относится к S & M, правильно?

Итак, почему элемент управления DropDownList предоставляет только поля привязки для своего источника данных, то есть его источник списка, а не его фактическое поле данных. например, как мне привязать выбранное значение мое имя DropDownList к полю Name в моей записи Person? Является ли это грубым недоверием к части Microsoft или моей?

Какова точка двусторонней привязки данных, если мне еще нужно вручную установить и прочитать выбранное значение?

4b9b3361

Ответ 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()