web-dev-qa-db-ja.com

DropDownListの選択された値をバインドする方法

データバインディングはすべて宣言型コードに関するものですよね?だから私は属性で欲しいものを指定し、フレームワークが残りを処理します。私が間違っていて、データバインディングがS&Mに関連しているのでない限り、そうですか?

そのため、DropDownListコントロールは、実際のデータフィールドではなく、データソース、つまりリストソースのバインディングフィールドのみを提供するのはなぜですか。つまり、選択した値の名前DropDownListをPersonレコードのNameフィールドにバインドする方法を教えてください。これはマイクロソフト側の大きな見落としですか、それとも私の見解ですか?

選択した値を手動で設定して読み取る必要がある場合、双方向データバインディングのポイントは何ですか?

22
ProfK

以下のコードのようなことをしたいかもしれません。 "SelectedValue"を宣言的に設定することはできませんが、 "SelectedValue = <%#[ここにコード]%>と言って、コントロールがデータバインドされているときに値を効果的に設定しています。

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

それが本当に役立つかどうかはわかりませんが、コードビハインドで「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
0
V1NNY