我使用了两个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>
提前致谢!
答案 0 :(得分:4)
由于每次单击按钮时都会执行代码后面的Page_Load
函数,我猜你需要在其中添加if (!IsPostBack)
,如下所示:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
// code that's only executed at first load
}
}