我在母版页中有一个简单的页面(好吧,在母版中的母版中)。
在顶级大师中,我有带有 的head
标签runat="server"
,带有许多位,例如脚本、样式表等,还有一个内容占位符。这里没有标题标签。
在使用此母版的页面中,占位符的内容包含其中的
<title>pagename</title>
位。我真的必须把它放在那里。
不幸的是,当页面被渲染时,我得到了我的标题,这一切都很好,但也得到了第二个空白标题标签——我认为是由 .NET 转储的。
有没有办法阻止第二个标题标签出来?
我在母版页中有一个简单的页面(好吧,在母版中的母版中)。
在顶级大师中,我有带有 的head
标签runat="server"
,带有许多位,例如脚本、样式表等,还有一个内容占位符。这里没有标题标签。
在使用此母版的页面中,占位符的内容包含其中的
<title>pagename</title>
位。我真的必须把它放在那里。
不幸的是,当页面被渲染时,我得到了我的标题,这一切都很好,但也得到了第二个空白标题标签——我认为是由 .NET 转储的。
有没有办法阻止第二个标题标签出来?
根据记忆,通过将 runat="server" 放在<head>
.Net上,<title>
如果还没有的话,它会自动添加一个。
我认为(尚未测试)是如果在您的母版页中您这样做
<head runat="server">
Blah
<title runat="server" visible="false"></title>
</head>
在母版页的 Head 中明确设置 Title 标签,并将可见性设置为 false 作品。我认为。
您不必手动插入<title>
头部。
只需Page.Title = "title"
通过代码或<%@ Page Title="My Title" .. %>
标记设置。ASP.NET 将找出其余部分,并给出正确的标题。
我认为使用:
如果要在页面级别设置标题
<%@ 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>
是确保不生成空的第二个标题标签的更好方法。