【发布时间】:2014-01-10 00:17:02
【问题描述】:
我在一个 .net 页面上有 3 个数据源和相关的中继器:
<asp:SqlDataSource ID="dsMain" runat="server"
SelectCommand="mySP1" SelectCommandType="StoredProcedure">
<asp:SqlDataSource ID="dsHeader" runat="server"
SelectCommand="mySP2" SelectCommandType="StoredProcedure">
<asp:SqlDataSource ID="dsFooter" runat="server"
SelectCommand="mySP3" SelectCommandType="StoredProcedure">
<asp:Repeater ID="rptHeader" runat="server" DataSourceID="dsHeader" >
<asp:Repeater ID="rptMain" runat="server" DataSourceID="dsMain" >
<asp:Repeater ID="rptFooter" runat="server" DataSourceID="dsFooter" >
数据源存储过程按照页面加载时所需的顺序执行(即mySP2,mySP1,mySP3)。有什么办法可以强制下单吗? dsMain 存储过程有副作用,会改变其他两个的结果,因此需要先执行。
目前我在绑定到 dsMain 的开头添加了一个空的虚拟中继器,以强制首先对其进行评估,但这涉及到我想避免的额外的数据库往返。
【问题讨论】:
标签: asp.net data-binding