gpt4 book ai didi

asp.net - UpdatePanel 异步回发后页面丢失标题

转载 作者:行者123 更新时间:2023-12-02 08:50:09 25 4
gpt4 key购买 nike

我最近刚刚注意到,在我从 UpdatePanel 内部执行异步回发后,我的页面标题将重置为标准“无标题页面”。在主页中。从母版页内部回发期间(例如当我单击母版页内的搜索框按钮时),标题不会丢失。

我假设通过使用不同的 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>

最佳答案

我们在我们的一个网站上遇到了这个确切的问题。

立即修复是在 page_load 方法后面的母版页代码中重置标题。

显然,当 ajax 调用发生时,它正在重新运行母版页。这导致我们的头衔消失。

例如:

protected void Page_Load(object sender, EventArgs e) {
this.Page.Title = "whatever title you have...";
}

更好的解决方法是放弃 MS updatepanel 垃圾并开始使用 JSON/jQuery,这样您实际上可以对调用进行一些适当的控制。

关于asp.net - UpdatePanel 异步回发后页面丢失标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/627378/

25 4 0