数据绑定完全是关于声明性代码的,对吧?所以我用属性指定了我想要的东西,框架负责其余部分。除非我弄错了,数据绑定与S& M有关,对吧?
因此,为什么DropDownList控件仅为其数据源(即其列表源)提供绑定字段,而不为其实际数据字段提供绑定字段。即如何将我的名字DropDownList绑定到我的Person记录中的Name字段?这是对微软或我的一部分的严重疏忽吗?
如果我仍然需要手动设置和读取所选值,那么双向数据绑定有什么意义呢?
答案 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()