2010-04-15 2 views
2

Я создаю новый MasterPage с VS2010 Beta 2 и я получаю это предупреждение (что вызывает у меня ошибки на страницах контента):Ошибка с MasterPage

Validation (XHTML 1.0 Transitional): Содержимое не поддерживается за пределами регионов «сценарий» или «asp: content».

код The ​​Masterpage в:

<%@ 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> 

Как вы можете видеть, это Masterpage по умолчанию сгенерированный код. Я получаю предупреждение, когда я нажимаю тег вверху. Кто-нибудь знает, что происходит?

Спасибо

ответ

-1

Это просто ... Visual Studio является помешанным. На самом деле, правда в том, что он не может проверять некоторую разметку просто потому, что большая часть ее динамична. Например, в моем проекте у меня есть постоянное предупреждение об отсутствии метки < >, потому что она добавляется динамически. Итог: проверщик XHTML действительно мало знает о коде ASP.NET.

+0

Почему вы добавляете весь тег названия динамически? У вас может быть тег заголовка по умолчанию (избегая предупреждения, вызванного отсутствием этого тега), который вы можете переопределить в своем коде. Например, у меня есть главная страница с тегом заголовка по умолчанию, а в «подстраницах» я могу переопределить его, указав атрибут «Заголовок» в '@ Page' следующим образом:' <% @ Page Title = "Это мой переопределенный заголовок ... "Язык =" C# "MasterPageFile =" ..... "............%>' – Sk8erPeter

6

В моем случае ошибка пошла после удаления атрибута MasterPageFile из страницы-секции в файле web.config:

<configuration> 
    <system.web> 
    <pages styleSheetTheme="mystyle" masterPageFile="~/myMaster.master" />  
    </system.web> 
</configuration> 

Или, если вам нужен этот атрибут в файле web.config, просто добавить empty MasterPageFile к вам главная страница:

<%@ Master Language="VB" AutoEventWireup="false" CodeFile="mySecondMaster.master.vb" Inherits="mySecondMaster" MasterPageFile="" %>