Page.VerifyRenderingInServerForm(Control) Metod

Definition

Bekräftar att en HtmlForm-kontroll återges för den angivna ASP.NET serverkontrollen vid körning.

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)

Parametrar

control
Control

Den ASP.NET serverkontroll som krävs i kontrollen HtmlForm.

Undantag

Den angivna serverkontrollen finns inte mellan de inledande och avslutande taggarna för HtmlForm serverkontrollen vid körning.

Kontrollen som ska verifieras är null.

Exempel

I följande kodexempel åsidosätts metoden för Page.Render en anpassad serverkontroll. När den här kontrollen skriver sitt innehåll till en sida använder den VerifyRenderingInServerForm metoden för att se till att kontrollen visas mellan de inledande och avslutande taggarna för en HtmlForm kontroll.

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

Kommentarer

Kontroller som måste finnas i <form runat=server> taggar kan anropa den här metoden innan de återges så att ett felmeddelande visas om de placeras utanför taggarna. Kontroller som publicerar tillbaka eller är beroende av registrerade skriptblock bör anropa den här metoden i en åsidosättning av Control.Render metoden. Sidor som har ett annat sätt att återge serverformulärelementet kan åsidosätta den här metoden för att utlösa ett undantag under olika förhållanden.

Serverkontroller som publicerar tillbaka eller använder skript på klientsidan fungerar inte om de inte omges av taggarna HtmlForm för serverkontroll (<form runat="server">). Dessa kontroller kan anropa den här metoden när de återges för att ge ett tydligt felmeddelande när de inte omges av HtmlForm kontrollen.

När du utvecklar en anpassad serverkontroll är det vanligt att anropa den här metoden när du åsidosätter Render metoden för någon typ av indatatagg. Detta är särskilt viktigt om indatakontrollen anropar GetPostBackEventReference, eller om den genererar klientskript. En sammansatt serverkontroll behöver inte göra det här anropet.

Gäller för