我有一个包含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>
答案 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
}
}