我在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.Title
和Page.Header.Title
都是""
(我已经尝试过数据绑定并使用<%= %>
语法无效。
有谁知道这里发生了什么以及如何克服这个问题?
感谢。
答案 0 :(得分:1)
您遇到的问题是因为您“欺骗”了页面循环。你最好在页面的代码隐藏中使用它:
Master.Title = "Welcome: " + basketId
你可以这样做;在masterpage上:创建一个HtmlTextWriter,将其配置为写入MemoryStream。将“title”contentplaceholder呈现给HtmlTextWriter,将StreamReader附加到流以将内容作为字符串抓取,并将其输出到您的页面。然而,这不是有效的,而且工作太多了: - )