母版页中contentplaceholder之外的更新面板会导致回发到内容页面

时间:2014-08-21 13:06:13

标签: c# asp.net updatepanel master-pages

我的母版页中有这样的东西:

    <asp:UpdatePanel ID="uppnlUtilities" runat="server" UpdateMode="Conditional">
    <Triggers>
        <asp:AsyncPostBackTrigger  ControlID="Timer1" EventName="Tick" />
    </Triggers>
    <ContentTemplate>
        <asp:Panel ID="pnlTopUtilities" runat="server">
            <asp:HyperLink ID="lnkCheckUpdates" runat="server" ImageUrl="~/images/viewupdates.gif" NavigateUrl="~/CheckUpdates.aspx" CssClass="imagelink"></asp:HyperLink>
            <asp:HyperLink ID="lnkAlertArchive" runat="server" ImageUrl="~/images/AlertArchives.gif" NavigateUrl="~/AlertArchive.aspx" 
                CssClass="imagelink" Visible="true"></asp:HyperLink>
            <asp:HyperLink ID="lnkNewAlert" runat="server" ImageUrl="~/images/AlertWaiting.gif" NavigateUrl="~/NewAlerts.aspx" 
                onclick="window.open (this.href, 'popupwindow', 'width=400,height=300,scrollbars,resizable'); return false;"
                CssClass="imagelink" Visible="false"></asp:HyperLink>
        </asp:Panel>
    </ContentTemplate>
</asp:UpdatePanel>
<asp:Timer ID="Timer1" runat="server" Interval="10000" OnTick="Timer1_Tick"></asp:Timer>

..........
.........
div id="divBody" class="group">
    <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
    </asp:ContentPlaceHolder>
</div>

我确实在母版页中看到了部分帖子,但我也在内容页面中看到了帖子。当我在page_load上放置一个断点时,在内容页面中,代码执行就会触及它。任何帮助表示赞赏。谢谢!

1 个答案:

答案 0 :(得分:0)

更新面板不会更改回发。该页面将贯穿其整个生命周期。更新面板的区别在于回发是异步的,只呈现更新面板的内容。

以下是MS Description of the UpdatePanel

的相关引用
  

启用部分页面更新后,控件可以异步发布到服务器。异步回发的行为类似于常规回发,因为生成的服务器页面执行完整的页面和控制生命周期。但是,使用异步回发时,页面更新仅限于UpdatePanel控件中包含的页面区域,并且标记为要更新。服务器仅将受影响的元素的HTML标记发送到浏览器。