ID do artigo: 941824 - Última revisão: segunda-feira, 3 de dezembro de 2007 - Revisão: 1.2

Mensagem de erro quando você cria um aplicativo da Web do ASP.NET 2.0 no Visual Studio 2005: "A classe base inclui o campo '<tbodyname>'"

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.

Nesta página

Expandir tudo | Recolher tudo

Sintomas

Considere o seguinte cenário:
  • Você cria um aplicativo da Web do Microsoft ASP.NET 2.0.
  • Adicionar marcação semelhante à seguinte para a página da Web.
    <body>
    	<form id="form1" runat='server">
    		<Table ID="Tablename" runat="server" Height="224px" Width="399px">
    			<tbody ID="tbodyname" runat="server"></tbody>
    		</Table>
    	</form>
    </body>
    
  • Você criar o aplicativo usando o Microsoft Visual Studio 2005.
  • Você instala o Microsoft .NET Framework 3.5.
  • Abra o projeto no Visual Studio 2005 e, em seguida, criar o aplicativo.
Nesse cenário, você receber uma mensagem de erro semelhante à seguinte:
Erro de tempo de execução do ASP.NET: A classe base inclui o campo ? tbodyname ?, mas seu tipo (System.Web.UI.HtmlControls.HtmlGenericControl) não é compatível com o tipo de controle (System.Web.UI.HtmlControls.HtmlTableBodySection).

Causa

No .NET Framework 3.5, o seguinte marcas HTML não mapear para a classe HtmlGenericControl :
  • TBODY
  • thead
  • TFOOT
No .NET Framework 3.5, essas marcas são mapeadas para as seguintes classes:
Recolher esta tabelaExpandir esta tabela
MarcaClasse
TBODY HtmlTableBodySection
thead HtmlTableHeaderSection
TFOOT HtmlTableFooterSection
Essa alteração permite que as opções de layout do novo controle ListView .

Observação Quando você instala o .NET Framework 3.5, os arquivos de classes na pasta V2.0.50727 são atualizados. Portanto, quando você instala o .NET Framework 3.5, o Visual Studio 2005 é afetado.

Resolução

Para resolver esse problema, atualize a página da Web de forma que o HTML marcas mapa para as novas classes. Você pode fazer isso manualmente. Ou, você pode usar o designer do Visual Studio 2005 para fazer isso automaticamente.

Método manual

Para resolver esse problema manualmente, execute estas etapas:
  1. No Visual Studio 2005, abra PageName. aspx.designer.cs arquivo.

    Observação O espaço reservado PageName representa o nome da página da Web em que você encontrar o problema.
  2. Localize as entradas para as marcas tbody , thead e tfoot .
  3. Altere as entradas para mapear essas marcas para as novas classes. Por exemplo, fazer as seguintes alterações.

    entrada antiga
    protected global::System.Web.UI.HtmlControls.HtmlGenericControl tbodyname;
    nova entrada
    protected global::System.Web.UI.HtmlControls.HtmlTableBodySection tbodyname;
  4. Salvar PageName. aspx.designer.cs arquivo.

Método automático

Para resolver esse problema automaticamente usando o designer do Visual Studio 2005, execute estas etapas:
  1. No Visual Studio 2005, abra o arquivo de .aspx PageName.

    Observação O espaço reservado PageName representa o nome da página da Web em que você encontrar o problema.
  2. Na janela fonte, localize o <table> and </table> marcas e selecione todas as entradas no intervalo que inclui essas marcas.
  3. No menu Editar , clique em Recortar . Esta operação remove as entradas correspondentes a PageName. aspx.designer.cs arquivo.
  4. Mantenha o cursor em mesmo local.
  5. No menu Editar , clique em Colar . Esta operação adiciona as entradas que herdam as novas classes para PageName. aspx.designer.cs arquivo.
  6. Salve o arquivo de .aspx PageName.

Situação

Esse comportamento é por design.

A informação contida neste artigo aplica-se a:
  • Microsoft ASP.NET 2.0
  • Microsoft .NET Framework 2.0
Palavras-chave: 
kbmt kbexpertiseadvanced kbtshoot kbprb KB941824 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 941824  (http://support.microsoft.com/kb/941824/en-us/ )