Compartilhar via


Solução de Problemas de processamento em modo Design

Vários problemas comuns podem surgir quando você tentar abrir um arquivo no designer Web Forms o qual não pode ser processado corretamente no designer.Problemas de processamento em modo de exibição Design ocorrem com mais frequência quando você estiver trabalhando com um arquivo que foi originalmente criado como uma página code-behind Web Forms for do Visual Studio.No entanto, esses problemas podem ocorrer em várias circunstâncias.Normalmente, o problema envolve atributos da diretiva @ Page em uma página Web Forms ou na diretiva @ Control em um controle de usuário Web Forms.

Observação:

O Web Forms Designer é o editor registrado para arquivos com uma extensão correspondente à do arquivo com o qual você está trabalhando.Se você não deseja usar o Web Forms Designer para trabalhar com um arquivo, altere a extensão do arquivo.Alternativamente, no Solution Explorer, você pode clicar com o botão direito do mouse no arquivo, escolher Open With e selecionar um editor diferente

Problemas com o atributo SRC

Um erro pode ocorrer se você tiver um atributo Src na diretiva @ Page ou na @ Controle.Esse atributo não é suportado no Web Forms Designer.Para corrigir esse erro:

  • Remova o atributo Src.Em seu lugar, adicione:

    • Um atributo CodeBehind que faz referência ao nome de um arquivo code-behind no projeto.

    • Um atributo Inherits que faz referência ao nome de classe representado pelo arquivo code-behind.(Essa classe por sua vez deve herdar da classe System.Web.UI.Page.)

    Observação:

    Se ainda não houver um arquivo code-behind e uma classe, você fazer o Web Forms Designer gerá-los.Após remover o atributo Src, defina o atributo Inherits como "" (cadeia de caracteres vazia) e o atributo CodeBehind para o nome do arquivo code-behind a gerar (formname.aspx.vb ou formname.aspx.cs).Salve o arquivo e feche-o.No Solution Explorer, clique com o botão direito do mouse no arquivo .aspx e escolha View Code.Quando você salvar o arquivo code-behind, o designer irá gerar um arquivo de classe apropriado.Abra o arquivo novamente.Execute qualquer ação que gere código no arquivo code-behind (como adicionar um controle ou clicar duas vezes em um controle para criar um manipulador de eventos) e salve o arquivo.O designer define o atributo Inherits da página Web Forms apropriadamente.

Como alternativa, você pode remover os atributos Src, CodeBehind e Inherits, e tratar o arquivo como um página Web Forms de arquivo único.Para obter mais informações, consulte Trabalhando com páginas Web Forms de Arquivo Único em Visual Studio.NET.

Problemas com o atributo CodeBehind

O atributo CodeBehind na diretiva @ Page ou na diretiva @ Controle referencia o nome de um arquivo que contém a classe para a página.Por exemplo, se você criar uma página Web Forms no Visual Studio chamada WebForm1, o atributo CodeBehind irá apontar para WebForm1.aspx.vb ou WebForm1.aspx.cs.

O atributo CodeBehind é usado somente em tempo de design; ele informa o Web Forms Designer onde localizar a classe da página para que o designer possa criar uma instância dela para você trabalhar com a mesma.

Problemas associados com o atributo CodeBehind podem incluir:

  • O arquivo referenciado não está disponível.Ou o arquivo não existe ou tem um nome diferente.

  • A classe no arquivo referenciado é herdada de uma classe base que não é referenciada no projeto.Normalmente, a classe para sua página Web Forms é herdada da classe System.Web.UI.Page, mas se você estiver trabalhando com um controle de usuário ou uma página Web Forms para outra plataforma, como um dispositivo móvel, a classe base pode ser diferente.

A classe no arquivo referenciado herda de uma classe base no projeto que não foi compilada.

Problemas com o atributo Inherits

O atributo Inherits na diretiva @ Page ou na diretiva @ Controle referencia o nome de uma classe (não um arquivo) da qual a página herda em tempo de execução.Para obter mais informações sobre o modelo de herança para páginas Web Forms, consulte Modelo de código do Web Forms.

Problemas com o atributo Inherits surgem somente se também não há um atributo CodeBehind.Isso pode ser verdadeiro, por exemplo, em um página de Web Forms de arquivo único.Se não houver nenhum atributo CodeBehind, só então o designer faz uso da classe referenciada no atributo Inherits para criar uma instância da página em tempo de design.

Observação:

Se houver um atributo CodeBehind, o designer irá ignorar o atributo Inherits, mesmo que o atributo Inherits esteja apontando para uma classe que não está disponível.Nesse caso, você pode trabalhar com a página no designer, mas ela não será executada.

O problema mais comum associado ao atributo Inherits é que ele aponta para uma classe que não está disponível no projeto ou em um assembly referenciado.

Consulte também

Conceitos

O Modo Design