Partager via


Page.VerifyRenderingInServerForm(Control) Méthode

Définition

Confirme qu'un contrôle HtmlForm est rendu pour le contrôle serveur ASP.NET spécifié au moment de l'exécution.

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)

Paramètres

control
Control

Contrôle serveur ASP.NET devant se trouver dans le contrôle HtmlForm.

Exceptions

Le contrôle serveur spécifié n'est pas contenu entre les balises d'ouverture et de fermeture du contrôle serveur HtmlForm au moment de l'exécution.

Le contrôle à vérifier est null.

Exemples

L’exemple de code suivant remplace la Page.Render méthode d’un contrôle serveur personnalisé. Lorsque ce contrôle écrit son contenu dans une page, il utilise la VerifyRenderingInServerForm méthode pour s’assurer que le contrôle apparaît entre les balises d’ouverture et de fermeture d’un HtmlForm contrôle.

// 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

Remarques

Les contrôles qui doivent se trouver à l’intérieur <form runat=server> des balises peuvent appeler cette méthode avant leur rendu afin qu’un message d’erreur s’affiche s’ils sont placés en dehors des balises. Les contrôles qui publient ou dépendent de blocs de script inscrits doivent appeler cette méthode dans un remplacement de la Control.Render méthode. Les pages qui ont une autre façon de rendre l’élément de formulaire serveur peuvent remplacer cette méthode pour lever une exception dans différentes conditions.

Les contrôles serveur qui publient ou utilisent un script côté client ne fonctionneront pas s’ils ne sont pas placés dans les HtmlForm balises de contrôle serveur (<form runat="server">). Ces contrôles peuvent appeler cette méthode lorsqu’ils s’affichent pour fournir un message d’erreur clair lorsqu’ils ne sont pas placés dans le HtmlForm contrôle.

Lorsque vous développez un contrôle serveur personnalisé, il est courant d’appeler cette méthode lorsque vous remplacez la Render méthode pour n’importe quel type de balise d’entrée. Cela est particulièrement important si le contrôle d’entrée appelle GetPostBackEventReferenceou s’il émet un script client. Un contrôle de serveur composite n’a pas besoin d’effectuer cet appel.

S’applique à