如何使用过滤器从EntityDataSource填充可更新的FormView

时间:2009-06-29 01:46:13

标签: c# asp.net entity-framework formview entitydatasource

我正在尝试创建一个用于更新帐户详细信息的成员页面。我想用成员的数据填充表单,但我不知道如何在EntityDataSource上设置过滤器来限制查询。

当我根据成员ID设置select语句时,我收到错误

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

我认为这是因为您无法更新投影或其他内容,但无论如何都在这周围?

或者我是否必须在Page_Load中运行查询并自己填充表单?

1 个答案:

答案 0 :(得分: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>

如果参数是由querystring传入的。还有其他几个内置的int参数类型。