Risoluzione dei problemi relativi al rendering nella visualizzazione Progettazione

Aggiornamento: novembre 2007

Durante l'apertura di un file che non è possibile visualizzare in modo corretto nella finestra di progettazione Web Form si potrebbero verificare diversi problemi comuni. I problemi relativi al rendering nella visualizzazione Progettazione si verificano più frequentemente quando si utilizza un file creato originariamente come pagina Web Form code-behind al di fuori di Visual Studio, ma possono presentarsi in numerose altre circostanze. Di norma, il problema è legato agli attributi della direttiva @ Page in una pagina Web Form o della direttiva @ Control in un controllo utente Web Form.

Nota:

La finestra di progettazione Web Form è l'editor registrato per i file la cui estensione corrisponde a quella del file che si sta utilizzando. Se non si desidera utilizzare la finestra di progettazione Web Form, modificare l'estensione del file. In alternativa, è possibile fare clic con il pulsante destro del mouse sul file in Esplora soluzioni, scegliere Apri con e selezionare un editor diverso.

Problemi con l'attributo Src

Se nella direttiva @ Page o @ Control è presente un attributo Src si potrebbe verificare un errore. Tale attributo non è supportato nella finestra di progettazione Web Form. Per correggere l'errore, eseguire le seguenti operazioni:

  • Rimuovere l'attributo Src. Al suo posto aggiungere:

    • Un attributo CodeBehind che faccia riferimento al nome di un file code-behind nel progetto.

    • Un attributo Inherits che faccia riferimento al nome della classe rappresentato dal file code-behind. È necessario che tale classe erediti a sua volta dalla classe System.Web.UI.Page.

    Nota:

    Se la classe e il file code-behind non sono ancora presenti, è possibile generarli. Dopo avere rimosso l'attributo Src, impostare l'attributo Inherits su una stringa vuota ("") e l'attributo CodeBehind sul nome del file code-behind da generare (formname.aspx.vb o formname.aspx.cs). Salvare e chiudere il file. In Esplora soluzioni fare clic con il pulsante destro del mouse sul file ASPX, quindi scegliere Visualizza codice. Quando si salva il file code-behind, verrà generato il file di classe appropriato. Aprire nuovamente il file. Eseguire un'operazione che consenta di generare codice nel file code-behind (aggiungere ad esempio un controllo o fare doppio clic su un controllo per creare un gestore eventi), quindi salvare il file. L'attributo Inherits della pagina Web Form verrà impostato in modo corretto.

In alternativa, è possibile rimuovere gli attributi Src, CodeBehind e Inherits e considerare il file come una pagina Web Form a file singolo. Per ulteriori informazioni, vedere Utilizzo di pagine Web Form a file singolo in Visual Studio .NET.

Problemi con l'attributo CodeBehind

L'attributo CodeBehind nella direttiva @ Page o @ Control fa riferimento al nome di un file che contiene la classe per la pagina. Se ad esempio si crea una pagina Web Form in Visual Studio denominata WebForm1, l'attributo CodeBehind farà riferimento a WebForm1.aspx.vb o WebForm1.aspx.cs.

L'attributo CodeBehind viene utilizzato solo in fase di progettazione e indica alla finestra di progettazione Web Form dove reperire la classe di pagina per la creazione di un'istanza da utilizzare.

I problemi associati all'attributo CodeBehind possono essere i seguenti:

  • Il file di riferimento non è disponibile. Il file non esiste o ha un nome diverso.

  • La classe nel file di riferimento viene ereditata da una classe base a cui non viene fatto riferimento nel progetto. Generalmente, la classe per la pagina Web Form viene ereditata dalla classe System.Web.UI.Page, ma se si utilizza un controllo utente o una pagina Web Form per un'altra piattaforma, quale un dispositivo mobile, è possibile che la classe base sia diversa.

La classe nel file di riferimento eredita da una classe base nel progetto non compilata.

Problemi con l'attributo Inherits

L'attributo Inherits nella direttiva @ Page o @ Control fa riferimento al nome di una classe (non un file) da cui la pagina eredita in fase di esecuzione. Per ulteriori informazioni sul modello di ereditarietà per le pagine Web Form, vedere Modello di codice di Web Form.

I problemi relativi all'attributo Inherits vengono generati solo se non è presente anche un attributo CodeBehind. Questa situazione potrebbe verificarsi ad esempio in una pagina Web Form a file singolo. Solo nel caso in cui l'attributo CodeBehind non sia presente verrà utilizzata la classe a cui viene fatto riferimento nell'attributo Inherits per creare un'istanza della pagina in fase di progettazione.

Nota:

Se l'attributo CodeBehind è presente, l'attributo Inherits verrà ignorato anche se fa riferimento a una classe non disponibile. In tal caso è possibile utilizzare la pagina nella finestra di progettazione ma non eseguirla.

Il problema più comune associato all'attributo Inherits consiste nel fatto che tale attributo fa riferimento a una classe non disponibile nel progetto o in un assembly di riferimento.

Vedere anche

Concetti

Visualizzazione Progettazione