Page.VerifyRenderingInServerForm(Control) Metoda

Definicja

Potwierdza, że kontrolka HtmlForm jest renderowana dla określonego ASP.NET kontroli serwera w czasie wykonywania.

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)

Parametry

control
Control

Kontrola serwera ASP.NET wymagana w kontrolceHtmlForm.

Wyjątki

Określona kontrolka serwera nie jest zawarta między tagami otwierania i zamykania kontrolki HtmlForm serwera w czasie wykonywania.

Kontrolka do zweryfikowania to null.

Przykłady

Poniższy przykład kodu zastępuje metodę Page.Render niestandardowej kontrolki serwera. Gdy ta kontrolka zapisuje zawartość na stronie, używa VerifyRenderingInServerForm metody , aby upewnić się, że kontrolka pojawia się między tagami otwierania i zamykania HtmlForm kontrolki.

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

Uwagi

Kontrolki, które muszą znajdować się wewnątrz <form runat=server> tagów, mogą wywołać tę metodę przed ich renderowaniem, aby komunikat o błędzie był wyświetlany, jeśli zostaną umieszczone poza tagami. Kontrolki, które publikują wstecz lub zależą od zarejestrowanych bloków skryptu, powinny wywoływać tę metodę w przesłonięcie Control.Render metody. Strony, które mają inny sposób renderowania elementu formularza serwera, mogą zastąpić tę metodę, aby zgłosić wyjątek w różnych warunkach.

Kontrolki serwera, które po powrocie lub używają skryptu po stronie klienta, nie będą działać, jeśli nie są one ujęte w kontrolce HtmlForm serwera (<form runat="server">) tagów. Te kontrolki mogą wywołać tę metodę, gdy są renderowane w celu zapewnienia jasnego komunikatu o błędzie, gdy nie są one ujęte w kontrolce HtmlForm .

Podczas opracowywania niestandardowej kontrolki serwera często jest wywoływana ta metoda podczas zastępowania Render metody dla dowolnego rodzaju tagu wejściowego. Jest to szczególnie ważne, jeśli kontrolka wejściowa wywołuje GetPostBackEventReferencemetodę , lub jeśli emituje skrypt klienta. Kontrolka serwera złożonego nie musi wykonywać tego wywołania.

Dotyczy