最近刚刚注意到,在主页面的UpdatePanel内部执行asyncpostback之后,我的页面标题将重新设置为标准的“Untitled Page”.在主页内部的回发中,标题不会丢失(例如当我点击母版页内的搜索框按钮时).
我假设通过使用不同的contentplaceholder专门设置文档标题,我将避免这样的问题,但显然我错了.除了必须在ASPX页面的代码隐藏中明确设置标题(我希望通过下面的设置方式避免这种情况),还有其他的东西丢失了吗?
<asp:Content ID="Content1" ContentPlaceHolderID="title" Runat="Server"> Page Title </asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="head" Runat="Server"> <script type="text/javascript"> //random javascript validators </script> </asp:Content> <asp:Content ID="Content3" ContentPlaceHolderID="content" Runat="Server"> <div class="title"> Account Management </div> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> //Username + Password Set Form </ContentTemplate> </asp:UpdatePanel> </asp:Content>
这是主页. ASP.NET AJAX ScriptManager放在< form>之后的第一件事标签在身体.
<head id="Head1" runat="server"> <title> <asp:ContentPlaceHolder id="title" runat="server"> </asp:ContentPlaceHolder> </title> //Stylesheet references <script type="text/javascript"> //Random javascript functions </script> <asp:ContentPlaceHolder id="head" runat="server"> </asp:ContentPlaceHolder> </head>