我已经阅读了很多有关如何做到这一点的帖子/文章,但我仍然无法从内容页面设置页面标题。我的页面呈现正常,除了我无法从内容页面设置标题(所有页面都按照主页面设置标题)。以下是我的主页面的代码:
Partial Class zSEO
Inherits System.Web.UI.MasterPage
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Page.Header.Title = "Dynamically set in Master page"
End Sub
End Class
以下是主页面的其余部分:
<%@ Master Language="VB"
EnableTheming="true"
Inherits="zSEO"
CodeFile="zSEO.master.vb" %>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div id="container">
<div id="content">
<asp:contentplaceholder id="ContentPlaceHolder1" runat="server">
</asp:contentplaceholder>
</div>
</div>
</form>
</body>
</html>
然而,正是在网页内容页面中,我想为该页面建立 <title>
标签的价值,并将其放置在我的测试内容页面中:
Public Partial Class zShowAd
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Page.Header.Title = "Dynamically set TITLE value in the content(child) page"
End Sub
End Class
奇怪的是,我无法在内容页上停止调试器,只能在主页面上对应的行停止。显然,我对此感到困惑。
我已经阅读了其他的方法,但根据Scott Mitchell在ASP.NET动态设置页面标题教程中所说,这似乎是可行的。具体来说,我尝试按照文章中的步骤进行操作: “此外,如果您使用主页面,此代码可以按原样工作,无论是在主页面还是在使用主页面的ASP.NET页面上。在这种情况下,区域应该在主页面中定义,但是ASP.NET页面仍然可以通过Page.Header访问它。”