Page.VerifyRenderingInServerForm(Control) Metodo

Definizione

Conferma che in fase di esecuzione viene eseguito il rendering di un controllo HtmlForm per il controllo server ASP.NET specificato.

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)

Parametri

control
Control

Controllo server ASP.NET richiesto nel controllo HtmlForm.

Eccezioni

In fase di esecuzione, il controllo server specificato non è racchiuso tra i tag di apertura e di chiusura del controllo server HtmlForm.

Il controllo da verificare è null.

Esempio

Nell'esempio di codice seguente viene eseguito l'override Page.Render del metodo di un controllo server personalizzato. Quando questo controllo scrive il contenuto in una pagina, usa il metodo per assicurarsi che il controllo venga visualizzato tra i tag di apertura e chiusura VerifyRenderingInServerForm di un HtmlForm controllo .

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

Commenti

I controlli che devono essere all'interno dei tag possono chiamare questo metodo prima di eseguirne il rendering in modo che venga visualizzato un messaggio di errore se sono <form runat=server> posizionati all'esterno dei tag. I controlli che eseguono il post-back o dipendono da blocchi di script registrati devono chiamare questo metodo in un override del Control.Render metodo . Le pagine che hanno un modo diverso di eseguire il rendering dell'elemento form del server possono eseguire l'override di questo metodo per generare un'eccezione in condizioni diverse.

I controlli server che eseranno il post-back o usano script sul lato client non funzioneranno se non sono racchiusi tra i tag del controllo HtmlForm server (<form runat="server"> ). Questi controlli possono chiamare questo metodo quando eseguono il rendering per fornire un messaggio di errore chiaro quando non sono racchiusi nel HtmlForm controllo .

Quando si sviluppa un controllo server personalizzato, è comune chiamare questo metodo quando si esegue l'override del Render metodo per qualsiasi tipo di tag di input. Ciò è particolarmente importante se il controllo di input chiama GetPostBackEventReference o se genera script client. Un controllo server composito non deve eseguire questa chiamata.

Si applica a