如何绑定DropDownList的选定值

时间:2009-03-02 21:58:26

标签: asp.net data-binding

数据绑定完全是关于声明性代码的,对吧?所以我用属性指定了我想要的东西,框架负责其余部分。除非我弄错了,数据绑定与S& M有关,对吧?

因此,为什么DropDownList控件仅为其数据源(即其列表源)提供绑定字段,而不为其实际数据字段提供绑定字段。即如何将我的名字DropDownList绑定到我的Person记录中的Name字段?这是对微软或我的一部分的严重疏忽吗?

如果我仍然需要手动设置和读取所选值,那么双向数据绑定有什么意义呢?

3 个答案:

答案 0 :(得分:47)

您可能想要执行以下代码之类的操作。 你不能以声明方式设置“SelectedValue”,而是说 “SelectedValue =<%#[code here]%>当控件是数据绑定时,您实际上会导致设置该值。

<asp:DropDownList
                ID="DropDownInfoSource"
                runat="server"
                DataSourceID="_employeeDataSource"
                DataTextField="EmployeeName"
                DataValueField="EmployeeID"
                SelectedValue='<%# Bind("EmployeeID") %>'
                />

答案 1 :(得分:0)

我不知道它是否真的对你有帮助,但你是否尝试过设置&#34; SelectedValue&#34;代码背后?

示例:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    DropDownInfoSource.SelectedValue = "1" ' your value, here
End Sub

答案 2 :(得分:-1)

有一个字段用于定义数据源,datatextfield(列表中显示的内容)和datavaluefield。

示例(我有一个带有“EmployeeID”列和“EmployeeName”列的数据表):

dropdownlist1.datasource = DT
dropdownlist1.datatextfield = "EmployeeName"
dropdownlist1.datavaluefield = "EmployeeID"
dropdownlist1.databind()