我在母版页内有一个简单的页面(好吧,在母版的母版中)。
在顶级母版中,我有head
标记runat="server"
,有许多位,如脚本,样式表等,还有contentplaceholder。这里没有标题标签。
在使用此主文件的页面中,占位符的内容包含
<title>pagename</title>
位。我真的必须把它放在那里。
不幸的是,当页面被渲染时,我得到了我的标题,这一切都很好,但也获得了第二个空白标题标签 - 我认为它被.NET抛弃了。
有没有办法阻止第二个标题标签出现?
答案 0 :(得分:17)
从内存中,如果没有一个<head>
,则<title>
.Net上的runat =“server”会自动添加<head runat="server">
Blah
<title runat="server" visible="false"></title>
</head>
。
我认为(尚未测试过)是否在您的母版页中
{{1}}
在母版页的Head中明确设置Title标签,并将可见性设置为false。我想。
答案 1 :(得分:4)
您不必手动将<title>
插入头部
只需按代码设置Page.Title = "title"
,或按标记设置<%@ Page Title="My Title" .. %>
。
ASP.NET将弄清楚其余的,并把正确的标题。
答案 2 :(得分:1)
我认为使用:
如果您想在页面级别设置标题
<%@ Master ... %>
<html>
<head runat="server">
<title>
<asp:ContentPlaceHolder ID="titleContent" runat="server" />
</title>
</head>
或者,
如果要在母版页级别设置动态标题。
<%@ Master ... %>
<html>
<head runat="server">
<title>
<asp:Literal ID="litPageTitle" runat="server"></asp:Literal>
</title>
</head>
是确保不生成空的第二个标题标记的更好方法。