ASP.NET阻止用户控件中的updatepanel导致主页加载执行

时间:2017-01-12 13:27:25

标签: asp.net webforms updatepanel

我有一个包含updatepanel的ASP.NET Usercontrol。当我在updatepanel中触发回发时,它会触发包含usercontrol的页面的page_load事件,但页面不会像通常那样刷新(不使用updatepanel)。 我想知道我是否可以阻止这种情况发生,如果是这样,怎么办?

以下是更新面板代码:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="testControl.ascx.cs" Inherits="WebApplication1.testControl" %>

<asp:ScriptManager runat="server" id="smTest"></asp:ScriptManager>
<asp:UpdatePanel runat="server" ID="updTest" ChildrenAsTriggers="true" UpdateMode="Conditional">
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="btnTest" />
    </Triggers>
    <ContentTemplate>
        <asp:Button runat="server" ID="btnTest" Text="test" />
    </ContentTemplate>
</asp:UpdatePanel>

1 个答案:

答案 0 :(得分:1)

您可以检查PostBack是否由Page和/或UserControl的Page_load中的UpdatePanel触发。但是你不能停止执行Page_Load。

protected void Page_Load(object sender, EventArgs e)
{
    if (ScriptManager.GetCurrent(this.Page).IsInAsyncPostBack)
    {
        //updatepanel page load
    }
    else
    {
        //normal page load
    }
}