Ссылка Page.Title после того, как он был установлен как часть asp: contentplaceholder - PullRequest
0 голосов
/ 11 сентября 2009

У меня есть настройка главной страницы с элементом управления placeplace внутри тега title следующим образом:

<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>

Этот заполнитель содержимого реализован внутри страницы, которая использует эту мастер-страницу следующим образом:

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

Я пытаюсь затем получить копию замещенного заголовка внутри тела главной страницы (также пробовал внутри страницы - и это тоже не работает), например:

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

Во всех случаях Page.Title и Page.Header.Title равны "" (я пробовал связывать данные и использовать синтаксис <%= %> безрезультатно.

Кто-нибудь знает, что здесь происходит и как мне это преодолеть?

Спасибо.

1 Ответ

1 голос
/ 11 сентября 2009

Проблема, которую вы получаете, заключается в том, что вы «обманываете» цикл страницы. Вам лучше использовать это в коде позади страницы:

Master.Title = "Welcome: " + basketId

Вы могли бы сделать это таким образом; на главной странице: создайте HtmlTextWriter, настройте его для записи в MemoryStream. Отобразите заполнитель содержимого title в HtmlTextWriter, присоедините StreamReader к потоку, чтобы захватить содержимое в виде строки, и выведите его на свою страницу. Тем не менее, это не эффективно, и слишком много работы: -)

...