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 del Page.Render metodo di un controllo server personalizzato. Quando questo controllo scrive il contenuto in una pagina, usa il VerifyRenderingInServerForm metodo per assicurarsi che il controllo venga visualizzato tra i tag di apertura e chiusura 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 <form runat=server> dei tag possono chiamare questo metodo prima di eseguirne il rendering in modo che venga visualizzato un messaggio di errore se vengono posizionati all'esterno dei tag. I controlli che eseguono il postback o dipendono dai blocchi di script registrati devono chiamare questo metodo in un override del Control.Render metodo . Le pagine con un modo diverso di eseguire il rendering dell'elemento del modulo del server possono eseguire l'override di questo metodo per generare un'eccezione in condizioni diverse.

I controlli server che eseguono il postback o usano script lato client non funzioneranno se non sono racchiusi nei tag del HtmlForm controllo server (<form runat="server">). Questi controlli possono chiamare questo metodo quando ne viene eseguito il HtmlForm rendering per fornire un messaggio di errore chiaro quando non sono racchiusi nel 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 GetPostBackEventReferenceo se genera script client. Non è necessario eseguire questa chiamata a un controllo server composito.

Si applica a