我在一个非常慢的页面上有一个UpdatePanel。其UpdatePanel设置为有条件地更新。我面临的问题是UpdatePanel会在呈现客户端时立即进行部分回发。我的问题是:
感谢您的帮助。
标记:
<asp:UpdatePanel UpdateMode="Conditional" ChildrenAsTriggers="false" runat="server" ID="updatePnlValidationErrors">
<ContentTemplate>
<span runat="server" id="validationErrors" class="error"></span>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger EventName="Click" ControlID="btnCompletePurchase" />
<asp:AsyncPostBackTrigger EventName="Checkout_Click" ControlID="checkoutBox" />
</Triggers>
</asp:UpdatePanel>
没有代码直接触及UpdatePanel。
答案 0 :(得分:1)
好的,你的代码中的asyncpostbacktrigger并没有指向正确的控件,我猜你可能只是出于演示目的而消除它们,但它们对我们的测试至关重要。这是我对代码及其结果的完整模拟。
我在更新面板之外为AsyncPostBackTriggers添加了两个缺少关联控件;
<asp:Button ID="btnCompletePurchase" runat="server" Text="Button" OnClick="btnCompletePurchase_Click" /> <asp:CheckBox ID="checkoutBox" runat="server" OnCheckedChanged="checkoutBox_CheckedChanged" />
,您的代码将如下所示:
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager> <asp:Button ID="btnCompletePurchase" runat="server" Text="Button" OnClick="btnCompletePurchase_Click" /> <asp:CheckBox ID="checkoutBox" runat="server" OnCheckedChanged="checkoutBox_CheckedChanged" /> <asp:UpdatePanel UpdateMode="Conditional" ChildrenAsTriggers="false" runat="server" ID="updatePnlValidationErrors"> <ContentTemplate> <span runat="server" id="validationErrors" class="error"></span> </ContentTemplate> <Triggers> <asp:AsyncPostBackTrigger EventName="Click" ControlID="btnCompletePurchase" /> <asp:AsyncPostBackTrigger EventName="CheckedChanged" ControlID="checkoutBox" /> </Triggers> </asp:UpdatePanel>
,这是第一次Page_Load事件的断点结果:
因此您可以复制并粘贴此代码以检查您的结果。