updatepanel内的按钮会导致整个页面刷新

时间:2014-01-01 01:08:08

标签: asp.net updatepanel page-refresh buttonclick

我使用了两个UpdatePanel标记,其中一个标记为Svg,我需要在单击按钮时刷新其内容,并且该按钮位于另一个UpdatePanel内。我只是意识到我每次点击按钮时都会执行代码隐藏中的Page_Load函数。我已经设置了属性UpdateMode="Conditional"但没有帮助。知道为什么吗?以下是我的代码:

           <asp:ScriptManager ID="ScriptManager1" runat="server">
           </asp:ScriptManager>
           <asp:UpdatePanel runat="server" id="GlobalUpdatePanel" UpdateMode="Conditional">
              <Triggers>
                  <asp:AsyncPostBackTrigger controlid="ButtonPP" eventname="Click" />
              </Triggers>
              <ContentTemplate>
                  <svg width ="1024" height = "540"></svg>            
              </ContentTemplate>
           </asp:UpdatePanel>
           <asp:UpdatePanel ID="ControlUpdatePanel" runat="server" Visible="True" UpdateMode="Conditional">
              <ContentTemplate>      
                  <asp:Button id ="ButtonPP" runat="server" Text="Run PP"  OnClick="ButtonPP_Click" />
              </ContentTemplate>
           </asp:UpdatePanel> 

提前致谢!

1 个答案:

答案 0 :(得分:4)

由于每次单击按钮时都会执行代码后面的Page_Load函数,我猜你需要在其中添加if (!IsPostBack),如下所示:

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        // code that's only executed at first load
    }
}