martes, 11 de septiembre de 2012

Ciclo de vida de los eventos de una pagina en ASP.NET

PreInit:
Se provoca después que la fase inicial se ha completado y antes de que comience la fase de inicialización.
Utilice este evento para lo siguiente:
  • Ver la propiedad  IsPostBack para determinar si esta es la primera vez en que se está procesando. Las propiedades IsCallback y IsCrossPagePostBack también se han creado en este momento.
  • Crear o volver a crear controles dinámicos.
  • Establecer una página principal dinámicamente.
  • Ajustar la propiedad Theme dinámicamente.
  • Leer o establecer valores de propiedad de perfil.


Init:
Se provoca después de que todos los controles se han inicializado y la configuración de los Skin han sido aplicadas. El evento Init de los controles individuales se produce antes del evento Init de la página.
Utilice este evento para leer o inicializar las propiedades del control.


InitComplete:
Lanzado al final de la fase de inicialización de la página. Sólo una operación se lleva a cabo entre los eventos Init e InitComplete.
Utilice este evento para realizar cambios en el view state que usted quiera que se conserven después del postback.


PreLoad:
Se provoca una vez cargado el view state y todos los controles, y después de procesar los datos del postback que esta incluido con la instancia de Request.


Load:
El objeto Page llama al método OnLoad, y luego hace lo mismo de forma recursiva para cada control secundario hasta que la página y todos los controles estén cargados. La carga de los controles individuales se produce después de la carga de los eventos de la página.
Utilice el evento OnLoad para establecer las propiedades de los controles y establecer conexiones de base de datos.


Eventos de los controles:
Aquí se controlan los eventos de los controles, como el onClick de un botón o el evento TextChanged de un TextBox.


LoadComplete:
Lanzado en el final de los eventos de los controles.
Utilice este evento para realizar tareas que requieren que todos los demás controles de la página esten cargados.


PreRender:
Se provoca después que el objeto Page ha creado todos los controles que se requieren en la página, incluyendo controles secundarios de controles compuestos. (Para ello, el objeto Page llama EnsureChildControls de los controles y de la página.)
Utilice el evento para hacer cambios finales a los contenidos de la página o en sus controles antes de que comience la fase de Rendering.


PreRenderComplete:
Se provoca después que se establece la propiedad DataSourceID  y se llama a su método DataBind


SaveStateComplete:
Se provoca una vez el View State y el control state de la página y todos los controles se han guardado. Cualquier cambio en la página o control en este punto afecta al renderizado, pero los cambios no se recuperarán en el siguiente postback.


Render:
Este no es un evento, sino que, en esta etapa de procesamiento, el objeto Page llama a este método en cada control. Todos los controles de servidor Web ASP.NET tienen un método Render que escribe el codigo en el navegador.
Si crea un control personalizado, normalmente se invalida este método para generar el marcado del control. Sin embargo, si el control personalizado incorpora sólo estándar ASP.NET de controles de servidor Web y no marcado personalizado, no es necesario reemplazar el metodo Render.


Unload:
Se lanza para cada control primero, y a continuación para la página.
En los controles, utilizar este evento para hacer la limpieza final para los controles específicos, tales como el cierre de las conexiones de base de datos.
Para la propia página, utilice este evento para realizar el trabajo de limpieza final, como cerrar los archivos abiertos y las conexiones de base de datos.

lunes, 10 de septiembre de 2012

Convertir un web form en un control de usuarios

Si usted ha desarrollado una página web ASP.NET y desea tener acceso a su funcionalidad a través de la aplicación, se pueden hacer algunas modificaciones menores a la página para cambiarlo a un control de usuario.

Para convertir una página de un solo archivo de ASP.NET Web en un control de usuario

Cambie el nombre del control para que la extensión de nombre de archivo es. Ascx.

Retire el html , cuerpo y forma los elementos de la página.

Cambiar el @ Page para una directiva @ Control Directiva.

Retire todos los atributos de la @ Control directiva excepto Idioma , AutoEventWireup (si existe), CodeFile y Inherits .

Incluya una className atributo en el @ Control Directiva. Esto permite el control de usuario a ser inflexible cuando se añade a una página.

Para convertir una página de código subyacente ASP.NET Web en un control de usuario

Cambie el nombre del archivo. Aspx para que la extensión de nombre de archivo es. Ascx.

Cambie el nombre del archivo de código subyacente para tener la extensión de nombre de archivo. Ascx.vb o ascx.cs., Dependiendo del lenguaje de programación en el archivo de código subyacente es pulg

Abra el archivo de código subyacente y cambiar la clase de la que hereda de la página de UserControl .

. En el archivo aspx, haga lo siguiente:

Retire el html , cuerpo y forma los elementos de la página.

Cambiar el @ Page para una directiva @ Control Directiva.

Retire todos los atributos de la @ Control directiva excepto Idioma , AutoEventWireup (si existe), CodeFile y Inherits .

En el @ Control directiva, cambie el CodeFile atributo para que apunte al archivo renombrado código subyacente.

Incluya una className atributo en el @ Control Directiva. Esto permite el control de usuario a ser inflexible cuando se añade a una página.

Ejemplo
En el ejemplo siguiente se muestra una página de un solo archivo de ASP.NET Web en su forma original y el control de usuario resultante después de la conversión de la página.

Nota de seguridad
Este ejemplo tiene un cuadro de texto que acepta datos del usuario, lo cual es una amenaza para la seguridad. De forma predeterminada, las páginas Web ASP.NET validan que los datos de usuario no incluir secuencias de comandos o elementos HTML. Para obtener más información, consulte general sobre los ataques de secuencias de comandos .

C#


<% @ Page Language = "C #" %>
<html>
<script runat=server>
vacío EnterBtn_Click (Object sender, EventArgs e)
{
    Label1.Text = "Hola" + + Name.Text "bienvenido a ASP.NET" ;
}
</ Script>
<body>
<h3> Web Forms <u> página </ u> </ h3>
<form>
Introducir nombre: <asp: textbox id = "Nombre" runat = server />
<Asp: Texto = botón "Enter" OnClick = "EnterBtn_Click"
    runat = server />
MedlinePlus
MedlinePlus
<Asp: id label = "Label1" runat = server />
</ Form>
</ Body>
</ Html>



<% @ Control Language = "C #" ClassName = "SampleUserControl" %>
<h3> control <u> usuario </ u> </ h3>
<script runat=server>
vacío EnterBtn_Click (object sender, EventArgs e)
{
    Label1.Text = "Hola" + + Name.Text "bienvenido a ASP.NET" ;
}
</ Script>
Introducir nombre: <asp: textbox id = "Nombre" runat = server />
<Asp: Texto = botón "Enter" OnClick = "EnterBtn_Click"
runat = server />
MedlinePlus
MedlinePlus
<Asp: id label = "Label1" runat = server />