0

ページのタイトルを次のように設定しました。

<%@ 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 プロパティのみを取得するにはどうすればよいですか?

4

2 に答える 2

0

もしも

「私のウェブサイト名-」

は固定文字列である場合、次のように実行できます。

Me.Page.Title.Substring("My Website Name -")

または、静的フォーマッタメソッドを作成して次のようにすることができます。

<% Namespace.Classname.FormatMyPageName(Me.Page.Title) %>
于 2012-11-14T17:05:23.673 に答える
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 側の 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 
于 2012-11-14T17:07:16.893 に答える