2009-03-02 160 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