6

アカウントの詳細を更新するためのメンバーページを作成しようとしています。フォームにメンバーのデータを入力したいのですが、EntityDataSourceにフィルターを設定してクエリを制限する方法がわかりません。

メンバーIDに基づいてselectステートメントを設定すると、エラーが発生します

Select cannot be set if EnableDelete, EnableInsert, or EnableUpdate is enabled.

投影などを更新できないからだと思いますが、とにかくこれはありますか?

または、Page_Loadでクエリを実行して、自分でフォームに入力する必要がありますか?

4

1 に答える 1

13

selectを設定する必要はなく、where句のみを設定します。

次のようなことができます。

<asp:EntityDataSource ID="MyDataSource" EntitySetName="Entity1" runat="server"
    ConnectionString="name=MyEntitiesConnString" EnableUpdate="true"
    DefaultContainerName="MyEntities" Where="it.MemberId= @MemberId" >
        <WhereParameters>
            <asp:QueryStringParameter DbType="Int32" Name="memberId" QueryStringField="memberid" />
        </WhereParameters>
</asp:EntityDataSource>

パラメータがクエリ文字列によって渡された場合。他にもいくつかの組み込みパラメータタイプがあります。

于 2009-07-07T21:36:28.297 に答える