Sdílet prostřednictvím


Problembehandlung beim Rendern in der Entwurfsansicht

Aktualisiert: November 2007

Wenn Sie versuchen, eine Datei im Web Forms-Designer zu öffnen, die nicht richtig wiedergegeben werden kann, können mehrere Probleme auftreten. Zu solchen Wiedergabeproblemen in der Entwurfsansicht kommt es häufig, wenn Sie mit einer Datei arbeiten, die ursprünglich als Code-Behind-Web Forms-Seite außerhalb von Visual Studio erstellt wurde. Sie können jedoch in anderen Situationen auftreten. Normalerweise lässt sich das Problem auf Attribute der @ Page-Direktive in einer Web Forms-Seite oder der @ Control-Direktive in einem Web Forms- Benutzersteuerelement zurückführen.

Aa992034.alert_note(de-de,VS.90).gifHinweis:

Der Web Forms-Designer ist als Editor für Dateien registriert, die dieselbe Dateierweiterung aufweisen wie die Datei, an der Sie gerade arbeiten. Wenn Sie zur Bearbeitung einer Datei nicht den Web Forms-Designer verwenden möchten, müssen Sie die Dateierweiterung ändern. Alternativ können Sie im Projektmappen-Explorer mit der rechten Maustaste auf die Datei klicken, anschließend auf die Option Öffnen mit klicken und einen anderen Editor auswählen.

Probleme mit dem Src-Attribut

Wenn ein Src-Attribut in der @ Page-Direktive oder @ Control-Direktive enthalten ist, kann ein Fehler auftreten. Dieses Attribut wird im Web Forms-Designer nicht unterstützt. So beheben Sie diesen Fehler:

  • Entfernen Sie das Src-Attribut. Fügen Sie stattdessen Folgendes hinzu:

    • Ein CodeBehind-Attribut, das auf den Namen einer Code-Behind-Datei im Projekt verweist.

    • Ein Inherits-Attribut, das auf den durch die Code-Behind-Datei dargestellten Klassennamen verweist. (Diese Klasse sollte wiederum von der System.Web.UI.Page-Klasse erben.)

    Aa992034.alert_note(de-de,VS.90).gifHinweis:

    Wenn CodeBehind-Datei und CodeBehind-Klasse noch nicht vorhanden sind, können Sie sie mit dem Web Forms-Designer generieren. Nachdem Sie das Src-Attribut entfernt haben, legen Sie das Inherits-Attribut auf eine leere Zeichenfolge ("") und das CodeBehind-Attribut auf den Namen der zu generierenden Code-Behind-Datei (formname.aspx.vb oder formname.aspx.cs) fest. Speichern und schließen Sie die Datei. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf die ASPX-Datei, und wählen Sie Code anzeigen. Wenn Sie die CodeBehind-Datei speichern, erzeugt der Designer eine entsprechende Klassendatei. Öffnen Sie die Datei erneut. Führen Sie alle Aktionen durch, die für die Erzeugung von Code in der CodeBehind-Datei erforderlich sind (z. B. Hinzufügen eines Steuerelements oder Doppelklicken auf ein Steuerelement, um einen Ereignishandler zu erstellen), und speichern Sie anschließend die Datei. Der Designer legt das Inherits-Attribut der Web Forms-Seite entsprechend fest.

Alternativ können Sie die Attribute Src, CodeBehind und Inherits entfernen und die Datei als Einzeldatei-Web Forms-Seite behandeln. Weitere Informationen zu diesem Thema finden Sie unter Arbeiten mit Einzeldatei-Web Forms-Seiten in Visual Studio .NET.

Probleme mit dem CodeBehind-Attribut

Das CodeBehind-Attribut in der @ Page-Direktive oder @ Control-Direktive verweist auf den Namen einer Datei, die die Klasse für die Seite enthält. Wenn Sie beispielsweise in Visual Studio eine Web Forms-Seite mit dem Namen WebForm1 erstellen, verweist das CodeBehind-Attribut auf WebForm1.aspx.vb oder WebForm1.aspx.cs.

Das CodeBehind-Attribut wird nur zur Entwurfszeit verwendet. Es stellt für den Web Forms-Designer Informationen über den Speicherort der Seitenklasse bereit, sodass der Designer eine Instanz erstellen kann, mit der Sie arbeiten können.

Im Zusammenhang mit dem CodeBehind-Attribut können u. a. die folgenden Probleme auftreten:

  • Die Datei, auf die verwiesen wird, ist nicht verfügbar. Die Datei ist entweder nicht vorhanden oder hat einen anderen Namen.

  • Die Klasse in der referenzierten Datei wurde von einer Basisklasse geerbt, auf die im Projekt nicht verwiesen wird. In der Regel wird die Klasse für die Web Forms-Seite von der System.Web.UI.Page-Klasse geerbt. Wenn Sie jedoch mit einem Benutzersteuerelement oder einer Web Forms-Seite für eine andere Plattform arbeiten, z. B. ein mobiles Gerät, kann es sich um eine andere Basisklasse handeln.

Die Klasse in der referenzierten Datei erbt von einer Basisklasse, die im Projekt nicht kompiliert wurde.

Probleme mit dem Inherits-Attribut

Das Inherits-Attribut in der @ Page-Direktive oder @ Control-Direktive verweist auf den Namen einer Klasse (nicht einer Datei), von der die Seite zur Laufzeit erbt. Weitere Informationen über das Vererbungsmodell für Web Forms-Seiten finden Sie unter Web Forms-Codemodell.

Probleme im Zusammenhang mit dem Inherits-Attribut treten nur auf, wenn kein CodeBehind-Attribut vorhanden ist. Dies kann beispielsweise in einer Einzeldatei-Web Forms-Seite der Fall sein. Nur wenn kein CodeBehind-Attribut vorhanden ist, verwendet der Designer die Klasse, auf die das Inherits-Attribut verweist, um zur Laufzeit eine Instanz der Seite zu erstellen.

Aa992034.alert_note(de-de,VS.90).gifHinweis:

Wenn ein CodeBehind-Attribut vorhanden ist, ignoriert der Designer das Inherits-Attribut, selbst wenn das Inherits-Attribut auf eine Klasse zeigt, die nicht verfügbar ist. Sie können in einem solchen Fall mit der Seite im Designer arbeiten. Die Seite wird allerdings nicht ausgeführt.

Das häufigste Problem, das beim Inherits-Attribut auftritt, besteht darin, dass es auf eine Klasse zeigt, die im Projekt oder in einer referenzierten Assembly nicht verfügbar ist.

Siehe auch

Konzepte

Entwurfsansicht