我设置了我的页面标题:
<%@ Page Title="Sub Page Title" %>
在我的母版页的Page_Load事件中,我修改了标题,为它们添加了网站名称,如下所示:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Page.Title = "My Website Name - " + MyMainContentPlaceholder.Page.Title
End Sub
现在..在我的每个内容页面中,我有一个标题,我想匹配页面标题。但是当我尝试使用内联代码设置文本时,它会抓取最终连接的母版页标题。
<%@ Page Title="Sub Page Title" ...blah blah... %>
<asp:Content ID="Content1" ContentPlaceHolderID="MyMainContentPlaceholder" runat="server">
<div class="pageHeader"><%=Me.Page.Title%></div>
</asp:Content>
<%=Me.Page.Title%>
返回“我的网站名称 - 子页面标题”,而不仅仅是“子页面标题”。
如何才能将其拉到当前子页面的title属性?
答案 0 :(得分:0)
如果
“我的网站名称 - ”
是一个固定的字符串,你可以这样做:
Me.Page.Title.Substring("My Website Name -")
或者你可以创建一个静态格式化器方法,并且这样做:
<% Namespace.Classname.FormatMyPageName(Me.Page.Title) %>
答案 1 :(得分:0)
我的建议是在你的代码中创建一个类常量
Private Const PAGE_SUB_TITLE As String = "Sub Page Title"
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Page.Title = "My Website Name - " & PAGE_SUB_TITLE;
End Sub
然后在您设置Page.Title
以在标题中包含您的应用程序名称时,您仍然可以访问常量。这将防止需要额外的方法或字符串解析。如果您不想使用常量,因为您喜欢使用Html side Title属性,您可以随时将其变为变量并稍微区别地使用它:
Private _pageSubTitle As String
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
_pageSubTitle = Page.Title
Page.Title = "My Website Name - " & PAGE_SUB_TITLE;
End Sub