質問

次のように、titleタグ内にcontentplaceholderコントロールを含むマスターページのセットアップがあります:

<head id="head1" runat="server">
    <style type="text/css">
        body { font-family: Tahoma; font-size: 9pt; }
    </style>

    <title><asp:contentplaceholder id="title" runat="server" /></title>
</head>

そのcontentplaceholderは、そのマスターページを使用するページ内で実装されます:

<asp:content runat="server" contentplaceholderid="title">
    Welcome: <%= this.BasketID %>
</asp:content>

次に、マスターページの本文内で置換タイトルのコピーを取得しようとしています(ページ内でも試されました-これも機能しません):

<p>
    <strong>Subject:</strong> <%# Page.Title %>
</p>

すべての場合で、Page.TitlePage.Header.Title""です(データバインディングと<%= %>構文を使用して両方を試してみました。

ここで何が起こっているのか、どうすればこれを克服できるのか誰にもわかりますか?

ありがとう。

役に立ちましたか?

解決

発生している問題は、ページサイクルを「トリック」しているためです。ページのコードビハインドでこれを使用することをお勧めします。

Master.Title = "Welcome: " + basketId

ただし、この方法でも可能です。マスターページで:HtmlTextWriterを作成し、MemoryStreamに書き込むように構成します。 「タイトル」コンテンツプレースホルダーをHtmlTextWriterにレンダリングし、StreamReaderをストリームにアタッチしてコンテンツを文字列として取得し、これをページに出力します。しかし、これは効率的ではなく、あまりにも多くの作業が必要です:-)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top