使用UpdatePanel的回发问题

本文关键字:问题 UpdatePanel 使用 | 更新日期: 2023-09-27 17:50:43

我已经在主页上使用Asp UpdatePanel来停止回发。但是现在它在其他页面上产生问题,例如在gridview中点击按钮获取数据。

<asp:UpdatePanel runat="server" ID="updatePanle1">
    <ContentTemplate>
        <asp:ContentPlaceHolder id="ContentPlaceHolder1"  runat="server">
        </asp:ContentPlaceHolder>
    </ContentTemplate>
</asp:UpdatePanel>

使用UpdatePanel的回发问题

试试这段代码。

protected void Page_Load(object sender, EventArgs e)
{
       if (!IsPostBack)
        {
            GridviewBind();
        }
}

<asp:UpdatePanel ID="updatepnl" runat="server">
   <ContentTemplate>
        ---Put Your Grid View Code---
    </ContentTemplate>
       <Triggers>
            <asp:PostBackTrigger ControlID="btnSubmit" />      
        </Triggers>
</asp:UpdatePanel>

您可以尝试在这里的UpdatePanel设计代码中添加Triggers,以阻止导致回发的其他事件,包括按钮单击和其他事件。试试这样做:

 <Triggers>        
        <asp:AsyncPostBackTrigger ControlID="Button1" EventName="clickEvent" />    
 </Triggers>

你也可以尝试使用PostBackTrigger而不是AsyncPostBackTrigger在这里,如果它不像预期的那样工作。

<Triggers>        
        <asp:PostBackTrigger ControlID="Button1" EventName="clickEvent" />    
 </Triggers>

我们通常不使用更新面板只是为了防止整个asp.net站点重新加载页面/返回。客户端控件(jquery)仍然是最合适的。但如果你真的很好奇你可能想花点时间学习MSDN链接https://msdn.microsoft.com/en-us/library/bb398864%28v=vs.140%29.aspx