Page.VerifyRenderingInServerForm(Control) Метод

Определение

Подтверждает, что элемент управления HtmlForm отображается для указанного серверного элемента управления ASP.NET во время выполнения.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

Параметры

control
Control

Серверный элемент управления ASP.NET, который должен находиться в элементе управления HtmlForm.The ASP.NET server control that is required in the HtmlForm control.

Исключения

Указанный серверный элемент управления не содержится между открывающим и закрывающим тегами серверного элемента управления HtmlForm во время выполнения.The specified server control is not contained between the opening and closing tags of the HtmlForm server control at run time.

Проверяемый элемент управления имеет значение null.The control to verify is null.

Примеры

В следующем примере кода переопределяется метод Page.Render пользовательского серверного элемента управления.The following code example overrides the Page.Render method of a custom server control. Когда этот элемент управления записывает свое содержимое на страницу, он использует метод VerifyRenderingInServerForm, чтобы убедиться, что элемент управления отображается между открывающим и закрывающим тегами элемента управления 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

Комментарии

Элементы управления, которые должны находиться внутри тегов <form runat=server>, могут вызывать этот метод перед визуализацией, чтобы отображалось сообщение об ошибке, если они находятся за пределами тегов.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. Элементы управления, которые перемещают или зависят от зарегистрированных блоков скриптов, должны вызывать этот метод в переопределении метода Control.Render.Controls that post back or depend on registered script blocks should call this method in an override of the Control.Render method. Страницы, имеющие другой способ отрисовки элемента Form Server, могут переопределять этот метод для создания исключения при различных условиях.Pages that have a different way of rendering the server form element can override this method to throw an exception under different conditions.

Серверные элементы управления, которые повторно используют сценарий на стороне клиента, не будут работать, если они не заключены в теги HtmlForm серверного элемента управления (<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. Эти элементы управления могут вызывать этот метод, когда они отображаются для предоставления четкого сообщения об ошибке, если они не заключены в элемент управления 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.

При разработке пользовательского серверного элемента управления часто вызывается этот метод при переопределении метода Render для любого типа входного тега.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. Это особенно важно, если элемент управления вводом вызывает GetPostBackEventReferenceили выдает клиентский скрипт.This is particularly important if the input control calls GetPostBackEventReference, or if it emits client script. Составной серверный элемент управления не должен выполнять этот вызов.A composite server control does not need to make this call.

Применяется к