Freigeben über


Page.VerifyRenderingInServerForm(Control) Methode

Definition

Bestätigt, dass ein HtmlForm-Steuerelement für das angegebene ASP.NET-Serversteuerelement zur Laufzeit gerendert wird.

public:
 virtual void VerifyRenderingInServerForm(System::Web::UI::Control ^ control);
public virtual void VerifyRenderingInServerForm (System.Web.UI.Control control);
abstract member VerifyRenderingInServerForm : System.Web.UI.Control -> unit
override this.VerifyRenderingInServerForm : System.Web.UI.Control -> unit
Public Overridable Sub VerifyRenderingInServerForm (control As Control)

Parameter

control
Control

Das ASP.NET-Serversteuerelement, das im HtmlForm-Steuerelement erforderlich ist.

Ausnahmen

Das angegebene Serversteuerelement befindet sich zur Laufzeit nicht zwischen dem Start- und dem Endtag des HtmlForm-Serversteuerelements.

Das zu überprüfende Steuerelement ist null.

Beispiele

Im folgenden Codebeispiel wird die Page.Render Methode eines benutzerdefinierten Serversteuerelements außer Kraft gesetzt. Wenn dieses Steuerelement seinen Inhalt auf eine Seite schreibt, verwendet es die VerifyRenderingInServerForm -Methode, um sicherzustellen, dass das Steuerelement zwischen den öffnenden und schließenden Tags eines Steuerelements HtmlForm angezeigt wird.

// Override the Render method to ensure that this control
// is nested in an HtmlForm server control, between a <form runat=server>
// opening tag and a </form> closing tag.
protected override void Render(HtmlTextWriter writer) {
    // Ensure that the control is nested in a server form.
    if (Page != null) {
        Page.VerifyRenderingInServerForm(this);
    }
    base.Render(writer);
}
' Override the Render method to ensure that this control
' is nested in an HtmlForm server control, between a <form runat=server>
' opening tag and a </form> closing tag.
Protected Overrides Sub Render(ByVal writer As HtmlTextWriter)

    ' Ensure that the control is nested in a server form.
    If Not (Page Is Nothing) Then
        Page.VerifyRenderingInServerForm(Me)
    End If

    MyBase.Render(writer)

End Sub

Hinweise

Steuerelemente, die sich innerhalb von <form runat=server> Tags befinden müssen, können diese Methode aufrufen, bevor sie gerendert werden, sodass eine Fehlermeldung angezeigt wird, wenn sie außerhalb der Tags platziert werden. Steuerelemente, die postbacken oder von registrierten Skriptblöcken abhängig sind, sollten diese Methode in einer Überschreibung der Control.Render -Methode aufrufen. Seiten, die eine andere Art zum Rendern des Serverformularelements haben, können diese Methode überschreiben, um eine Ausnahme unter anderen Bedingungen auszulösen.

Serversteuerelemente, die postbacken oder clientseitige Skripts verwenden, funktionieren nicht, wenn sie nicht in die Tags des HtmlForm Serversteuerelements (<form runat="server">) eingeschlossen sind. Diese Steuerelemente können diese Methode aufrufen, wenn sie gerendert werden, um eine eindeutige Fehlermeldung bereitzustellen, wenn sie nicht in das HtmlForm Steuerelement eingeschlossen sind.

Wenn Sie ein benutzerdefiniertes Serversteuerelement entwickeln, ist es üblich, diese Methode aufzurufen, wenn Sie die Render Methode für eine beliebige Art von Eingabetag überschreiben. Dies ist besonders wichtig, wenn das Eingabesteuerelement aufruft GetPostBackEventReferenceoder clientskripts ausgibt. Ein zusammengesetztes Serversteuerelement muss diesen Aufruf nicht ausführen.

Gilt für: