我的母版页的 head 标签中有一个 contentplaceholder。
因为我希望页面的标题能够代表当前页面的功能,并且因为我希望将标题翻译成用户的语言,所以我在页面头部的 contentplaceholder 中添加了一个标题标签。一切都很愉快,除了现在出现了第二个空标题标签,当然它是无效的。
有什么想法如何解决这个问题吗?
根据W3C spec http://www.w3.org/TR/REC-html40/struct/global.html#h-7.4.2:
每个 HTML 文档的 HEAD 部分都必须有一个 TITLE 元素。
因此,ASP.Net 平台符合标准,并向您的页面添加一个空标题标记,以帮助您实现有效的标记 - 它不知道您将通过内容占位符添加一个。
在经典 ASP.Net 下,您的选择是:
- 使用@page指令Title来设置该标签的内容
- 使用隐藏代码中的 Page.Title 属性以编程方式设置该值。
如果您使用的是 ASP.Net MVC,则默认的 Site.Master 文件具有以下默认文本:
<title><%= Html.Encode(ViewData["Title"]) %></title>
默认控制器有:
ViewData["Title"] = "Home";
在操作结果中,再次允许以编程方式访问页面标题。
通常,我使用 HeadContent 内容占位符来添加页面特定的静态脚本和 CSS 链接。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)