Asp.net 生成第二个标题标记的母版页

Asp.net 生成第二个标题标记的母版页,asp.net,master-pages,title,Asp.net,Master Pages,Title,我在母版页中有一个简单的页面(母版中的母版) 在top master中,我有head标记,带有runat=“server”,带有许多位,如脚本、样式表等,还有一个contentplaceholder。这里没有标题标签 在使用此母版的页面中,占位符的内容包含 pagename其中的位。我真的得把它放进去 不幸的是,当页面呈现时,我得到了我的标题,这一切都很好,但也得到了第二个空白的标题标签-我想是被.NET倾倒在那里的 有没有办法阻止第二个标题标签出现?您不必手动将插入标题。 只需按代码设置Pag

我在母版页中有一个简单的页面(母版中的母版)

在top master中,我有
head
标记,带有
runat=“server”
,带有许多位,如脚本、样式表等,还有一个contentplaceholder。这里没有标题标签

在使用此母版的页面中,占位符的内容包含
pagename
其中的位。我真的得把它放进去

不幸的是,当页面呈现时,我得到了我的标题,这一切都很好,但也得到了第二个空白的标题标签-我想是被.NET倾倒在那里的


有没有办法阻止第二个标题标签出现?

您不必手动将
插入标题。
只需按代码设置
Page.Title=“Title”
,或按标记设置

ASP.NET将解决其余问题,并给出正确的标题

通过将runat=“server”放在
.Net上,从内存自动添加
,如果还没有

我认为(还没有测试过)如果在你的主页上你这样做了

<head runat="server">
Blah
<title runat="server" visible="false"></title>
</head>

废话
在母版页的标题中明确设置标题标签,并设置虚假作品的可见性。我认为。

我认为使用:

如果要在页面级别设置标题

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


是确保不生成空的第二个title标记的更好方法。

狡猾,我没有尝试过,尽管我怀疑它会起作用。最后在top master中为标题添加了一个单独的contentplaceholder。我刚刚遇到了相同的问题,并尝试了此修复。我可以确认它确实有效。做得好。