Page.VerifyRenderingInServerForm(Control) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Confirma que um controle HtmlForm é processado para o controle de servidor ASP.NET especificado no tempo de execução.
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)
Parâmetros
Exceções
O controle de servidor especificado não está contido entre as marcas de abertura e fechamento do controle de servidor HtmlForm no tempo de execução.
O controle a ser verificado é null
.
Exemplos
O exemplo de código a seguir substitui o Page.Render método de um controle de servidor personalizado. Quando esse controle grava seu conteúdo em uma página, ele usa o VerifyRenderingInServerForm método para garantir que o controle apareça entre as marcas de abertura e fechamento de um HtmlForm controle.
// 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
Comentários
Os controles necessários para estar dentro <form runat=server>
de marcas podem chamar esse método antes de serem renderizados para que uma mensagem de erro seja mostrada se elas forem colocadas fora das marcas. Controles que postam ou dependem de blocos de script registrados devem chamar esse método em uma substituição do Control.Render método. Páginas que têm uma maneira diferente de renderizar o elemento de formulário de servidor podem substituir esse método para lançar uma exceção em condições diferentes.
Os controles de servidor que postam ou usam script do lado do cliente não funcionarão se não estiverem entre as marcas de controle do HtmlForm servidor (<form runat="server">
). Esses controles podem chamar esse método quando são renderizados para fornecer uma mensagem de erro clara quando não estiverem no HtmlForm controle.
Quando você desenvolve um controle de servidor personalizado, é comum chamar esse método quando você substitui o Render
método para qualquer tipo de marca de entrada. Isso é particularmente importante se o controle de entrada chamar GetPostBackEventReferenceou se ele emitir o script do cliente. Um controle de servidor composto não precisa fazer essa chamada.