Artigo: 941824 - Última revisão: segunda-feira, 3 de Dezembro de 2007 - Revisão: 1.2

Mensagem de erro quando cria uma aplicação Web 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 | Reduzir tudo

Sintomas

Considere o seguinte cenário:
  • Criar uma aplicação Web do Microsoft ASP.NET 2.0.
  • Adicionar marcação semelhante à seguinte para a página 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>
    
  • Criar a aplicação utilizando o Microsoft Visual Studio 2005.
  • Instalar o Microsoft .NET Framework 3.5.
  • Abra o projecto no Visual Studio 2005 e, em seguida, criar a aplicação.
Neste cenário, receberá uma mensagem de erro semelhante à seguinte:
Erro de tempo de execução do ASP.NET: A classe base inclui o campo ? tbodyname ?, mas o respectivo tipo (System.Web.UI.HtmlControls.HtmlGenericControl) não é compatível com o tipo de controlo (System.Web.UI.HtmlControls.HtmlTableBodySection).

Causa

No .NET Framework 3.5, os seguinte códigos HTML já não mapear para a classe HtmlGenericControl :
  • tbody
  • thead
  • tfoot
No .NET Framework 3.5, estes códigos mapeadas para as seguintes classes:
Reduzir esta tabelaExpandir esta tabela
TagClasse
tbody HtmlTableBodySection
thead HtmlTableHeaderSection
tfoot HtmlTableFooterSection
Esta alteração permite que as opções de esquema do novo controlo ListView .

Nota Quando instala o .NET Framework 3.5, os ficheiros do .NET Framework na pasta V2.0.50727 são actualizados. Por conseguinte, quando instala o .NET Framework 3.5, Visual Studio 2005 é afectado.

Resolução

Para resolver este problema, actualize a página Web para que os códigos HTML mapa para novas classes. Isto pode ser feito manualmente. Ou, pode utilizar o estruturador do Visual Studio 2005 para o fazer automaticamente.

Método manual

Para resolver este problema manualmente, siga estes passos:
  1. No Visual Studio 2005, abra PageName. aspx.designer.cs ficheiro.

    Nota O marcador de posição PageName representa o nome da página Web em que tiver o problema.
  2. Localize as entradas para as tags tbody thead e tfoot .
  3. Altere as entradas para mapear estes códigos para as classes de novas. Por exemplo, efectue 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. Guardar PageName. aspx.designer.cs ficheiro.

Método automático

Para resolver este problema automaticamente a utilizando o estruturador do Visual Studio 2005, siga estes passos:
  1. No Visual Studio 2005, abra o ficheiro de .aspx PageName.

    Nota O marcador de posição PageName representa o nome da página Web em que tiver o problema.
  2. Na janela de origem, localize o <table> and </table> códigos e seleccione todas as entradas no intervalo que inclua essas marcas.
  3. No menu Editar , clique em Cortar . Esta operação remove as entradas correspondentes PageName. aspx.designer.cs ficheiro.
  4. Mantenha o cursor na mesma localização.
  5. No menu Editar , clique em Colar . Esta operação adicionará as entradas que herdam as novas classes para PageName. aspx.designer.cs ficheiro.
  6. Guarde o ficheiro de .aspx PageName.

Ponto Da Situação

Este comportamento ocorre por predefinição.

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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes 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/ )