2010-04-15 33 views
2

我創建與VS2010 Beta 2的一個全新的母版,我得到這樣的警告(使我的錯誤在內容頁):錯誤與母版

驗證(XHTML 1.0過渡): 內容是 '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> 

正如你所看到的,這是默認的母版生成的代碼。當我將標籤懸停在頂部時,我會收到警告。有人知道發生了什麼嗎?

謝謝

回答

-1

這很簡單... Visual Studio是屁股。事實上,事實是,它不可能驗證某些標記,因爲它大部分都是動態的。例如,在我的項目中,我經常警告有一個<標題>標籤缺少,因爲它是動態添加的。底線:XHTML驗證器並不真正瞭解ASP.NET代碼。

+0

爲什麼你動態添加整個標題標籤?你可以有一個默認的標題標籤(避免缺少這個標籤引起的警告),你可以在你的代碼中重寫。例如,我有一個帶有默認標題標籤的母版頁,在「子頁面」中,我可以通過指定'@ Page'中的'Title'屬性來覆蓋它:'<%@ Page Title =「這是我的重寫標題...「Language =」C#「MasterPageFile =」.....「............%>' – Sk8erPeter 2012-05-07 16:53:18

6

在我的情況下,錯誤已經從頁節在web.config文件中刪除的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="" %>