我正在尝试创建一个用于更新帐户详细信息的成员(member)页面。我想用成员的数据填充一个表单,但我不知道如何在 EntityDataSource 上设置过滤器来限制查询。
当我根据成员(member)ID设置select语句时,出现错误
如果启用了 EnableDelete、EnableInsert 或 EnableUpdate,则无法设置 Select。
我认为这是因为您不能更新投影之类的,但是有什么办法吗?
还是我必须在 Page_Load 中运行查询并自己填充表单?
最佳答案
不需要设置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传入的。还有其他几种内置参数类型。
关于c# - 如何使用过滤器从 EntityDataSource 填充可更新的 FormView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1056257/