Controles Dinámicos Objetos Persistentes

Anuncio
Controles Dinámicos
Objetos Persistentes
Objetos persistentes
●
Mantener un objeto entre postbacks
●
Utilidad ViewState
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE">
●
Guardar
elAlumno = new ClaseAlumno { Nombre = "Pepe", Apellidos = "García López" };
ViewState["elAlumno"] = elAlumno;
●
Leer
elAlumno = (ClaseAlumno) ViewState["elAlumno"];
Objetos persistentes
●
Convertir un objeto en texto: Serialización
[Serializable]
public class ClaseAlumno {
private int _nombre;
private ClaseExpediente _expediente;
...
[Serializable]
public class ClaseExpediente {
int _codigoEstudio;
...
Objetos persistentes
●
Variables de sesión y aplicación
laAlumna = new ClaseAlumno {
Nombre="Laura",
Apellidos="Gómez"
};
Session["laAlumna"] = laAlumna;
laAlumna = (ClaseAlumno)Session["laAlumna"];
Controles dinámicos
●
Generar controles “al vuelo”
Control miControl = new Control();
miControl.Propiedad = "Valor";
Contenedor.Controls.Add(miControl);
Controles dinámicos
●
Panel
Panel Datos = new Panel();
Datos.ID = "DatosAlumno";
Datos.CssClass = "panelDatos";
Contenedor.Controls.Add(Datos);
●
Caja de texto
TextBox textBoxTitulo = new TextBox();
textBoxTitulo.ID = "TextBoxTitulo";
textBoxTitulo.Text = "Pon el titulo";
Datos.Controls.Add(textBoxTitulo);
Controles dinámicos
●
Etiquetas
Label titulo = new Label();
titulo.Text = "Titulo";
titulo.AssociatedControlID = "TextBoxTitulo";
Datos.Controls.Add(titulo);
●
Botones
Button botonAceptar = new Button();
botonAceptar.Text = "Aceptar";
botonAceptar.CausesValidation = false;
Datos.Controls.Add(botonAceptar);
Controles dinámicos
●
Eventos
botonAceptar.Click += new EventHandler(botonAceptar_Click);
void botonAceptar_Click(object sender, EventArgs e)
{
// Gestionar evento
}
Descargar