2009-03-02 155 views
19

数据绑定是关于声明性代码的,对吧?所以我指定了我想要的属性,框架负责处理剩下的部分。除非我错了,并且数据绑定涉及到S & M,对吧?如何绑定DropDownList的选定值

那么,为什么DropDownList控件只为其数据源(即列表源)提供绑定字段,而不是为其实际数据字段提供绑定字段。即我如何将所选值我的名字DropDownList绑定到我的Person记录中的Name字段?这是微软方面还是我的整体监督?

如果我仍然需要手动设置和读取选定的值,双向数据绑定的要点是什么?

回答

44

你可能想要做像下面的代码。 你不能设置“的SelectedValue”声明,但说 “的SelectedValue = <%#[代码这里]%>你实际上造成当控制是数据绑定到的值进行设置。

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

有一个字段,您可以在其中定义数据源,datatextfield(列表中显示的内容)和datavaluefield。

实例(我有一栏“雇员”和列“EmployeeName”数据表):

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

如果你读了我的问题,你会看到我是知道的那些,我想知道如何将选定的值绑定到一个其他数据源,正如我所问。 – ProfK 2009-03-03 16:13:10

+0

如果你知道这件事,这没关系。如果你的问题应该对其他人有益,也许它应该包括一个解决方案的变体。 – Harry 2017-05-24 08:18:31

0

我不知道这是否会真正帮助你,但你试图建立对守则“的SelectedValue”的背后

?例如:

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