Partager via


Dépannage du rendu du mode Design

Mise à jour : novembre 2007

Plusieurs problèmes courants peuvent survenir lorsque vous essayez d'ouvrir, dans le concepteur Web Forms, un fichier qui ne peut pas s'afficher correctement dans ce programme. Les problèmes de rendu du mode Design se produisent généralement lorsque vous utilisez un fichier créé en tant que page Web Forms code-behind en dehors de Visual Studio. Ces problèmes peuvent cependant se produire dans d'autres circonstances. La plupart du temps, le problème est lié aux attributs de la directive @ Page d'une page Web Forms ou de la directive @ Control d'un contrôle utilisateur Web Forms.

Remarque :

Le concepteur Web Forms est l'éditeur associé aux fichiers dont l'extension correspond à celle du fichier avec lequel vous travaillez. Si vous ne souhaitez pas traiter ce fichier dans le concepteur Web Forms, modifiez son extension. Sinon, dans l'Explorateur de solutions, cliquez avec le bouton droit sur le fichier, choisissez Ouvrir avec et sélectionnez un autre éditeur.

Problèmes liés à l'attribut Src

Une erreur peut se produire si un attribut Src se trouve dans la directive @ Page ou @ Control. Cet attribut n'est pas pris en charge dans le concepteur Web Forms. Pour corriger cette erreur :

  • Supprimez l'attribut Src. À la place, ajoutez :

    • Un attribut CodeBehind qui fait référence au nom d'un fichier code-behind du projet.

    • Un attribut Inherits qui fait référence au nom de classe représenté par le fichier code-behind. (Cette classe doit, à son tour, hériter de la classe System.Web.UI.Page.)

    Remarque :

    S'il n'existe pas encore de fichier code-behind ni de classe, le concepteur Web Forms peut générer le fichier. Après avoir supprimé l'attribut Src, attribuez une chaîne vide ("") à l'attribut Inherits et le nom du fichier code-behind à générer (formname.aspx.vb ou formname.aspx.cs) à l'attribut CodeBehind. Enregistrez le fichier et fermez-le. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le fichier .aspx, puis choisissez Afficher le code. Lorsque vous enregistrez le fichier code-behind, le concepteur génère un fichier de classe approprié. Ouvrez de nouveau le fichier. Effectuez une opération qui génère du code dans le fichier code-behind (vous pouvez par exemple ajouter un contrôle ou double-cliquer dessus pour créer un gestionnaire d'événements), puis enregistrez le fichier. Le concepteur définit l'attribut Inherits de la page Web Forms de manière adéquate.

Vous pouvez également supprimer les attributs Src, CodeBehind et Inherits et traiter le fichier comme une page Web Forms à fichier unique. Pour plus d'informations, consultez Utilisation de pages Web Forms à fichier unique dans Visual Studio .NET.

Problèmes liés à l'attribut CodeBehind

L'attribut CodeBehind de la directive @ Page ou @ Control fait référence au nom d'un fichier contenant la classe pour la page. Par exemple, si vous créez une page Web Forms nommée WebForm1 dans Visual Studio, l'attribut CodeBehind pointera vers WebForm1.aspx.vb ou WebForm1.aspx.cs.

L'attribut CodeBehind n'est utilisé qu'au moment du design. Il indique au concepteur Web Forms l'emplacement de la classe de page de sorte qu'il puisse en créer une instance à votre intention.

Plusieurs problèmes peuvent être liés à l'attribut CodeBehind, notamment :

  • Le fichier référencé n'est pas disponible. Le fichier n'existe pas ou porte un nom différent.

  • La classe du fichier référencé est héritée d'une classe de base non référencée dans le projet. En principe, la classe pour votre page Web Forms est héritée de la classe System.Web.UI.Page, mais si vous travaillez avec un contrôle utilisateur ou une page Web Forms destinée à une autre plateforme, telle qu'un périphérique mobile, la classe de base peut changer.

La classe du fichier référencé hérite d'une classe de base dans le projet non compilé.

Problèmes liés à l'attribut Inherits

L'attribut Inherits de la directive @ Page ou @ Control fait référence au nom d'une classe (pas d'un fichier) dont hérite la page au moment de l'exécution. Pour plus d'informations sur le modèle d'héritage pour les pages Web Forms, consultez Modèle de code des Web Forms.

Les problèmes liés à l'attribut Inherits ne surviennent que lorsque l'attribut CodeBehind est également absent. Cela peut se produire, par exemple, dans une page Web Forms à fichier unique. Lorsqu'il n'existe pas d'attribut CodeBehind, et seulement dans ce cas, le concepteur utilise la classe référencée dans l'attribut Inherits pour créer une instance de la page au moment du design.

Remarque :

S'il existe un attribut CodeBehind, le concepteur ignore l'attribut Inherits, même si ce dernier pointe vers une classe non disponible. Dans ce cas, vous pouvez utiliser la page dans le concepteur, mais elle ne s'exécutera pas.

Le problème le plus courant lié à l'attribut Inherits est qu'il pointe vers une classe non disponible dans le projet ou dans un assembly référencé.

Voir aussi

Concepts

Mode Design