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>

如果参数是通过查询字符串传入的。还有其他几个内置的 int 参数类型。

于 2009-07-07T21:36:28.297 回答