Page.VerifyRenderingInServerForm(Control) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Confirma que un control HtmlForm se represente para el control de servidor ASP.NET especificado en tiempo de ejecución.
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
Excepciones
El control de servidor especificado no está incluido entre las etiquetas de apertura y cierre del control de servidor HtmlForm en tiempo de ejecución.
El control que se va a comprobar es null
.
Ejemplos
En el ejemplo de código siguiente se invalida el Page.Render método de un control de servidor personalizado. Cuando este control escribe su contenido en una página, usa el VerifyRenderingInServerForm método para asegurarse de que el control aparece entre las etiquetas de apertura y cierre de un 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
Comentarios
Los controles que deben estar dentro <form runat=server>
de etiquetas pueden llamar a este método antes de representarlos para que se muestre un mensaje de error si se colocan fuera de las etiquetas. Los controles que se devuelven o dependen de los bloques de script registrados deben llamar a este método en una invalidación del Control.Render método . Las páginas que tienen una forma diferente de representar el elemento de formulario del servidor pueden invalidar este método para producir una excepción en condiciones diferentes.
Los controles de servidor que devuelven o usan el script del lado cliente no funcionarán si no se incluyen en las etiquetas de HtmlForm control de servidor (<form runat="server">
). Estos controles pueden llamar a este método cuando se representan para proporcionar un mensaje de error claro cuando no están incluidos en el HtmlForm control.
Al desarrollar un control de servidor personalizado, es habitual llamar a este método al invalidar el Render
método para cualquier tipo de etiqueta de entrada. Esto es especialmente importante si el control de entrada llama a GetPostBackEventReferenceo si emite un script de cliente. No es necesario realizar esta llamada a un control de servidor compuesto.