最近刚刚注意到,在主页面的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>