我正在使用VS2010 Beta 2创建一个全新的母版页,我收到此警告(这会导致我在内容页面中出错):
验证(XHTML 1.0 Transitional): 外部不支持内容 'script'或'asp:content'区域。
母版页的代码:
<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Bob.master.cs" Inherits="TShirtFactory.Web.All.Core.lib.masterpage.Bob" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<asp:ContentPlaceHolder ID="head" runat="server">
</asp:ContentPlaceHolder>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
</div>
</form>
</body>
</html>
如您所见,它是默认的母版页生成代码。当我将标签悬停在顶部时,我收到警告。有没有人知道发生了什么?
谢谢
答案 0 :(得分:6)
在我的情况下,从web.config文件的Page-section中删除masterPageFile属性后错误已经消失:
<configuration>
<system.web>
<pages styleSheetTheme="mystyle" masterPageFile="~/myMaster.master" />
</system.web>
</configuration>
或者,如果您在web.config文件中需要此属性,只需将空MasterPageFile添加到您的母版页:
<%@ Master Language="VB" AutoEventWireup="false" CodeFile="mySecondMaster.master.vb" Inherits="mySecondMaster" MasterPageFile="" %>
答案 1 :(得分:-1)
这很简单...... Visual Studio是疯狂的。实际上,事实是它不可能仅仅因为大部分是动态的而验证某些标记。例如,在我的项目中,我不断警告缺少&lt; title&gt;标记,因为它是动态添加的。结论:XHTML验证器对ASP.NET代码并不是很了解。