母版页出错

时间:2010-04-15 01:18:26

标签: asp.net visual-studio-2010 master-pages

我正在使用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>

如您所见,它是默认的母版页生成代码。当我将标签悬停在顶部时,我收到警告。有没有人知道发生了什么?

谢谢

2 个答案:

答案 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代码并不是很了解。