Page.VerifyRenderingInServerForm(Control) Yöntem

Tanım

HtmlFormÇalışma zamanında belirtilen ASP.NET sunucu denetimi için bir denetimin işleneceğini onaylar.Confirms that an HtmlForm control is rendered for the specified ASP.NET server control at run time.

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)

Parametreler

control
Control

Denetimde gerekli olan ASP.NET sunucu denetimi HtmlForm .The ASP.NET server control that is required in the HtmlForm control.

Özel durumlar

Belirtilen sunucu denetimi HtmlForm çalışma zamanında sunucu denetiminin açılış ve kapanış etiketlerinin arasına dahil değildir.The specified server control is not contained between the opening and closing tags of the HtmlForm server control at run time.

Doğrulanacak denetim null .The control to verify is null.

Örnekler

Aşağıdaki kod örneği, Page.Render özel sunucu denetiminin yöntemini geçersiz kılar.The following code example overrides the Page.Render method of a custom server control. Bu denetim, içeriğini bir sayfaya yazdığında, VerifyRenderingInServerForm denetimin açılış ve kapanış etiketleri arasında göründüğünden emin olmak için yöntemini kullanır HtmlForm .When this control writes its content to a page, it uses the VerifyRenderingInServerForm method to make sure that the control appears between the opening and closing tags of an HtmlForm control.

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

Açıklamalar

Etiketleri içinde olması gereken denetimler <form runat=server> , etiketlerin dışına yerleştirildiklerinde bir hata mesajı gösterilmesi için, bu yöntemi oluşturmadan önce çağırabilir.Controls that are required to be inside <form runat=server> tags can call this method before they render so that an error message is shown if they are placed outside the tags. Kayıtlı betik bloklarına geri gönderme veya bağımlı olan denetimler, yöntemi geçersiz kılmada bu yöntemi çağırmalıdır Control.Render .Controls that post back or depend on registered script blocks should call this method in an override of the Control.Render method. Sunucu formu öğesini işlemek için farklı bir yönteme sahip sayfalar, farklı koşullarda bir özel durum oluşturmak için bu yöntemi geçersiz kılabilir.Pages that have a different way of rendering the server form element can override this method to throw an exception under different conditions.

HtmlFormSunucu denetimi (<) etiketlerinde yer alındıklarında, geri veya istemci tarafı betiği kullanan sunucu denetimleri çalışmaz form runat="server"> .Server controls that post back or use client-side script will not work if they are not enclosed in the HtmlForm server control (<form runat="server">) tags. Bu denetimler, denetimde yer alındıklarında şifresiz bir hata mesajı sağlamak üzere işlendiklerinde bu yöntemi çağırabilir HtmlForm .These controls can call this method when they render to provide a clear error message when they are not enclosed in the HtmlForm control.

Özel bir sunucu denetimi geliştirirken, Render her türlü giriş etiketi için yöntemi geçersiz kıldığınızda bu yöntemi çağırmak yaygındır.When you develop a custom server control, it is common to call this method when you override the Render method for any kind of input tag. Bu, giriş denetimi çağrılıyorsa veya istemci betiği yayıyorsa özellikle önemlidir GetPostBackEventReference .This is particularly important if the input control calls GetPostBackEventReference, or if it emits client script. Bileşik sunucu denetiminin bu çağrıyı yapması gerekmez.A composite server control does not need to make this call.

Şunlara uygulanır