C# 防止UpdatePanel部分回发
我在一个非常慢的页面上有一个UpdatePanel。其UpdatePanel设置为有条件更新。我面临的问题是UpdatePanel在呈现客户端时会立即执行部分回发。我的问题是:C# 防止UpdatePanel部分回发,c#,asp.net,.net,updatepanel,postback,C#,Asp.net,.net,Updatepanel,Postback,我在一个非常慢的页面上有一个UpdatePanel。其UpdatePanel设置为有条件更新。我面临的问题是UpdatePanel在呈现客户端时会立即执行部分回发。我的问题是: 有可能阻止第一次部分回发吗 这是一种好的做法吗?为什么 谢谢你的帮助 标记: <asp:UpdatePanel UpdateMode="Conditional" ChildrenAsTriggers="false" runat="server" ID="updatePnlValidationErr
<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的代码。好的,代码中的asyncpostbacktrigger没有指向正确的控件。我想,您可能只是出于演示目的才删除了这些控件,但它们对我们的测试至关重要。下面是我对您的代码的完整模拟及其最后的结果 我在更新面板外为AsyncPostBackTriggers添加了两个缺少的相关控件
您的代码如下所示:
这是第一次页面加载事件的断点结果:
因此,您可以复制并粘贴此代码,以检查最后的结果。是否在页面加载事件中更新更新面板?@DTs否,不在服务器端。我只有两个触发器绑定到它,它们都在按钮上的单击事件上。如何检查更新面板以查看它是否在页面加载时回发?“我面临的问题是,UpdatePanel在呈现客户端时会立即进行部分回发”-您可以发布标记和代码,以便我们验证这一点吗。听起来不对,UpdatePanels不应该这样做,除非你让它更新。@sh1rts我把它编辑到了问题中。你的意思是,在他的aspx中,他忘了包括触发更新的控件?这是不可能的,因为当他试图打开页面时会出现异常。
<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>