我正在尝试创建一个用于更新帐户详细信息的成员页面。我想用成员的数据填充表单,但我不知道如何在EntityDataSource上设置过滤器来限制查询。
当我根据成员ID设置select语句时,我收到错误
Select cannot be set if EnableDelete, EnableInsert, or EnableUpdate is enabled.
我认为这是因为您无法更新投影或其他内容,但无论如何都在这周围?
或者我是否必须在Page_Load中运行查询并自己填充表单?
答案 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参数类型。