以下实体数据源是否会在queryextender中的每个CustomExpression中进行过滤后执行orderby,或者它将首先执行orderby,然后在选择之前进入每个查询扩展器。
<asp:EntityDataSource ID="edsMembers" runat="server"
ConnectionString="name=MOSContainer" DefaultContainerName="MOSContainer"
EnableFlattening="False" EntitySetName="Members" EntityTypeFilter="Member"
OrderBy="it.UserName" EnableDelete="True" ondeleted="edsMembers_Deleted">
</asp:EntityDataSource>
<asp:QueryExtender ID="qedMembers" runat="server" TargetControlID="edsMembers">
<asp:CustomExpression OnQuerying="FilterMembersActivatedEmail"></asp:CustomExpression>
<asp:CustomExpression OnQuerying="FilterMembersOccupationType"></asp:CustomExpression>
</asp:QueryExtender>
答案 0 :(得分:1)
QueryData源order by子句应用于PageInit,因此位于从实际数据源应用的那个之前。 这里也存在一个问题 - 由于查询扩展器和数据源创建了两个单独的order by子句,因此只有其中一个被尊重,这是应用的最后一个(来自数据源的那个)。 Linq to SQL数据源也是如此。 Here is a link我的类似问题。