我的母版页在head标签中有一个contentplaceholder.
因为我希望我的页面标题代表当前页面的功能,并且因为我希望用用户的语言翻译标题,所以我在页面的head的contentplaceholder中添加了一个标题标签.除了现在出现第二个空的标题标签,当然无效之外,所有这些都很快乐.
任何想法如何解决这个问题?
根据W3C规范:
每个HTML文档必须在HEAD部分中有一个TITLE元素.
因此,ASP.Net平台符合标准并在页面中添加空标题标记以帮助您实现有效标记 - 它不知道您将通过内容占位符添加标记.
在经典的ASP.Net下,您的选择是:
使用@page指令标题来设置此标记的内容
使用代码后面的Page.Title属性以编程方式设置值.
如果您使用的是ASP.Net MVC,则默认的Site.Master文件具有以下默认文本:
<%= Html.Encode(ViewData["Title"]) %>
默认控制器有:
ViewData["Title"] = "Home";
在操作结果中,再次允许以编程方式访问页面标题.
通常我使用HeadContent内容占位符来添加特定于页面的静态脚本和css链接.