Page.VerifyRenderingInServerForm(Control) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
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.