我已经阅读了很多关于如何执行此操作的帖子/文章,但我仍然没有从内容页面获取页面标题设置。我的页面呈现正常,但我无法从内容页面获取标题集(所有页面都根据母版页设置了标题)。这是我的母版页的代码隐藏:
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>
然而,我想在网页内容页面中建立页面的值,并将其放置在我的测试内容页面中:
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 的教程中读到的内容:Dynamicly setting the Page Title in ASP.NET。具体来说,我试图从文章中遵循这一点: “此外,如果您正在使用母版页,则此代码可以按照所写的方式从母版页或使用母版页的 ASP.NET 页面工作。在这种情况下, 该区域应该在母版页中定义,但是 ASP.NET 页面仍然可以通过 Page.Header 访问它。”