我正在尝试创建一个用于更新帐户详细信息的成员页面.我想用成员的数据填充表单,但我不知道如何在EntityDataSource上设置过滤器来限制查询.
当我根据成员ID设置select语句时,我收到错误
如果启用了EnableDelete,EnableInsert或EnableUpdate,则无法设置选择.
我认为这是因为你不能更新投影或其他东西,但是在这周围有什么?
或者我是否必须在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传入的.还有其他几个built-int参数类型.