7

我在母版页中有一个简单的页面(好吧,在母版中的母版中)。

在顶级大师中,我有带有 的head标签runat="server",带有许多位,例如脚本、样式表等,还有一个内容占位符。这里没有标题标签。

在使用此母版的页面中,占位符的内容包含其中的 <title>pagename</title>位。我真的必须把它放在那里。

不幸的是,当页面被渲染时,我得到了我的标题,这一切都很好,但也得到了第二个空白标题标签——我认为是由 .NET 转储的。

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

4

3 回答 3

17

根据记忆,通过将 runat="server" 放在<head>.Net上,<title>如果还没有的话,它会自动添加一个。

我认为(尚未测试)是如果在您的母版页中您这样做

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

在母版页的 Head 中明确设置 Title 标签,并将可见性设置为 false 作品。我认为。

于 2010-01-05T13:00:45.823 回答
4

您不必手动插入<title>头部。
只需Page.Title = "title"通过代码或<%@ Page Title="My Title" .. %>标记设置。ASP.NET 将找出其余部分,并给出正确的标题。

于 2010-01-05T12:51:12.977 回答
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>

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

于 2013-05-03T04:38:23.790 回答