Académique Documents
Professionnel Documents
Culture Documents
Indice
1.
2.
3.
4.
5.
6.
Controles de
lista sencillos
Controles
de
Lista
Sencillos
Lista desplegable
Lista desplegada
Lista de botones de
verificacin
Lista de botones de
radio
RepeatDirection
Text:
contenido visualizado
Value:
Selected:
Propiedad SelectedItem
Label1.Text = DropDownList1.SelectedIndex.ToString();
Label1.Text = DropDownList1.SelectedItem.Text.ToString();
Label1.Text = DropDownList1.SelectedItem.Value.ToString();
Label1.Text=DropDownList1.SelectedValue;
ListBox:
CheckBoxList
EJEMPLO:
DropDownList1.Items.Add(rojo);
DropDownList1.Items.Add(new ListItem(rojo,Red));
text
value
Controles de
navegacin:
Menu
Control
menu
Se
puede
uAlizar
para
crear
un
men
que
colocaremos
en
la
pgina
maestra
y
otras
ayudas
de
navegacin.
Permite
aadir
un
men
principal
con
submens
y
tambin
nos
permite
denir
mens
dinmicos.
Los
elementos
del
Menu
pueden
aadirse
directamente
en
el
control
o
enlazarlos
con
una
fuente
de
datos.
En
las
propiedades
podemos
especicar
la
apariencia,
orientacin
y
contenido
del
men.
Propiedades
StaAcDisplayLevels.
Esta
propiedad
permite
especicar
el
nmero
de
niveles
estAcos
que
queremos
mostrar
como
raz
del
men
(el
mnimo
es
1).
MaximumDynamicDisplayLevels
Esta
propiedad
especica
cuantos
niveles
de
nodos
que
aparecen
de
forma
dinmica
se
mostraran
despus
del
nivel
estAco.
Code-Behind
C#
protected
void
Menu1_MenuItemClick(object
sender,
System.Web.UI.WebControls.MenuEventArgs
e)
{
switch(e.Item.Value)
{
case
"Products":
...
return;
case
"Services":
...
return;
}}
hpp://msdn.microsof.com/en-us/library/16yk5dby(v=vs.80).aspx
hpp://www.obout.com/em/doc_server.aspx
Controles de
Validacin
Validacin de datos
Debemos asegurar que los usuarios introducen
datos correctamente
Direccin de email
Nmero de telfono
Validacin de datos
Lado del cliente:
Controles de validacin
ASP.Net detecta si el
navegador soporta
validacin del lado del
cliente:
Controles de validacin
Sobre diferentes controles web:
TextBox
ListBox
DropDownList
RadioButtonList
FileUpload
Controles de Validacin
Propiedades
Para mostrar el mensaje de error ErrorMessage
Para indicar el control a validar ControlToValidate
Entrada requerida: RequiredFieldValidator: La
validacin es OK cuando el control de entrada no
contiene una cadena vaca.
InitialValue
Coincidencia de modelos:
RegularExpressionValidator: La validacin es OK si
el valor de un control de entrada se corresponde
con una expresin regular especificada.
ValidationExpression
Controles de validacin
Controles de Validacin
Comparacin con un valor: CompareValidator: La
validacin es OK si el control contiene un valor que se
corresponde con el valor de otro control especificado.
ControlToCompare
ControlToValidate
ValueToCompare
Type
Operator
MaximumValue
MinimumValue
Type
Controles de Validacin
ClientValidationFunction
OnServerValidate
Controles de validacin
protected void Button1_Click(object sender, EventArgs e)
{
if (Page.IsValid)
{ Button1.Text = "Correcto"; }
else
{ Button1.Text = "Incorrecto"; }
}
protected void ComprobarUsuario(object sender,
ServerValidateEventArgs e)
{
string username = e.Value.ToLower();
if (username == "sonia" || username == "irene")
{ e.IsValid = false; }
}
Controles de Validacin
Propiedad
Display
Sirve
para
comprobar
si
el
control
de
validacin
muestra
mensajes
de
error.
La
propiedad
Display
puede
establecerse
en
:
None
El
control
de
validacin
no
aparece
en
la
pgina.
Sta+c
Cada
control
de
validacin
ocupa
espacio
aunque
no
sea
visible
el
texto
de
un
mensaje
de
error,
lo
que
permite
denir
una
presentacin
ja
para
la
pgina.
Dynamic
Los
controles
de
validacin
no
ocupan
espacio
a
menos
que
muestren
un
mensaje
de
error,
lo
que
les
permite
comparAr
la
misma
ubicacin.
No
obstante,
cuando
se
muestra
el
mensaje
de
error,
la
presentacin
de
la
pgina
cambia,
lo
que
a
veces
produce
que
los
controles
cambien
las
posiciones.
La
presentacin
dinmica
requiere
un
explorador
que
admita
Html
dinmico
(DHTML).
<asp:RangeValidator
ID="RangeValidator1"
runat="server"
ControlToValidate="TextBox1"
ErrorMessage="Este nmero no
est en el intervalo"
MaximumValue="100"
MinimumValue="10"
Type="Integer">
</asp:RangeValidator>
Expresiones regulares
Direccin de correo electrnico
Contrasea
Nmero de cuenta
\s carcter de espacio en blanco (ej. tab o
espacio)
\S cualquier carcter no espacio
\d cualquier carcter numrico
\D cualquier carcter no dgito
\w cualquier carcter alfanumrico (letra,
nmero o carcter de subrayado)
Solucin
Correo electrnico
\S+@\S+\.\S+
Contrasea
[a-zA-Z]\w{3,9}
Nmero de cuenta
\d{4}-\d{4}-\d{2}-\d{10}
Grupos de validacin
Los
controles
de
validacin
se
pueden
asociar
en
grupos
de
validacin
a
n
de
que
los
controles
que
pertenezcan
a
un
grupo
comn
se
validen
juntos.
Puede
uAlizar
estos
grupos
para
habilitar
o
deshabilitar
de
forma
selecAva
la
validacin
para
controles
relacionados
en
una
pgina.
Hay que definir el nombre del grupo en los
controles de validacin y en el botn o otros
controles de envo que causan validacin.
SetFocusOnError
Se establece en controles de validacin que causan
que el primer control no vlido reciba el foco.
Propiedad de los controles de validacin.
Ms informacin sobre estos controles
http://msdn.microsoft.com/es-es/library/debza5t0
(v=vs.90).aspx
http://www.elguille.info/colabora/NET2005/
FernandoLuque_ASPValidar.htm
Mantenimiento de
estado:
Objetos Session y
Application
Qu
es
una
sesin?
Una sesin es el perodo de tiempo en el que un
usuario particular interacta con una aplicacin
web.
Durante una sesin la identidad nica de un usuario
se mantiene internamente.
Los datos se almacenan temporalmente en el
servidor.
Una sesin finaliza si hay un timeout o si t
finalizas la sesin del visitante en el cdigo.
Objeto
Session
Session: sirve para almacenar datos pertenecientes
a un nico usuario (en el mbito de una sesin).
//Borra todos los valores de estado de la sesin
Session.Clear();
Session.Add("nombre","Homer");
Response.Write(Session["nombre"]);
En
ASP.NET
Las sesiones son tablas Hash en memoria con un
timeout especificado.
Session[username] = Jose Martnez;
Session[color] = Blue;
Asignamos los valores a las variables de sesin
username y color, respectivamente. Si necesito
saber el username o color en pginas
siguientes puedo usar Session[username],
Session[color].
Las sesiones en ASP.NET estn identificadas
usando enteros 32-bit long conocidos como
Session IDs. El motor ASP genera estos session
IDs de tal forma que se garantice que son nicos
Objeto
Session
Session Type
Qu hace
Ejemplo
Session.Abandon
Abandona
(cancela) la sesin
actual
Session.Remove
Borra un elemento
de la coleccin de
estado de la
sesin.
Session[username] =
Jose Martnez;
(Inicializa una variable de
sesin)
Session.Remove[usernam
];
(Borra la variable de sesin
username
Session.RemoveAll
Session Type
Qu hace
Ejemplo
Session.Timeout
Session.Timeout=30 (Si
un usuario NO pide una
pgina en la aplicacin
ASP.NET en 30 minutos
la sesin expira.)
Session.SessionID
Recupera el ID de la
sesin (propiedad de
slo lectura de una
sesin) para la sesin.
Session.IsNewSession
Ejercicio
Ejercicio
Archivo Default.aspx.cs
protected void Button1_Click (object sender,
EventArgs e)
{
Session["login] = TextBox1.Text;
Response.Redirect("session2.aspx");
}
Archivo session2.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
Label3.Text = Session["Login"].ToString();
}
Importante
Al crear la parte privada de la Web
utilizaremos variables de sesin para
controlar si el usuario ha entrado
logueandose o ha entrado poniendo
directamente la URL, en cuyo caso la variable
de sesin estar vaca y no deberamos
permitir el acceso
Variables
de
aplicacin
Y si queremos inicializar variables que estn
disponibles en una sesin y sean las mismas para
todos los usuarios??
Esto supone que un cambio en el valor de una
variable de aplicacin se refleja en las sesiones
actuales de todos los usuarios.
Objeto
Application
Por ejemplo:
Variables
de
aplicacin
Ejercicio
Variables
de
aplicacin
Primer paso:
Segundo paso:
Variables
de
aplicacin
Problema:
Application["PageCounter"] = (int)Application["PageCounter"] + 1
La expresin de la derecha se evala primero
El usuario1 lee el valor de PageCounter almacenado en la
aplicacin
El usuario2 lee el valor de PageCounter almacenado en la
aplicacin
Ambos le suman 1 unidad pero el incremento final en lugar de
ser 2 unidades es slo 1
Variables de aplicacin
Objeto
Application
Application: proporciona una manera
sencilla de almacenar en el servidor
datos comunes a todos los visitantes de
nuestro sitio web.
Application.Lock();
Application.Add("edad",22);
int valor=(int)Application["edad"];
valor++;
Application["edad"]=valor;
Application.UnLock();
Response.Write(Application["edad"]);
Problema
Dnde
inicializo
una
variable
de
aplicacin
para
que
no
se
reinicie
cada
vez
(ej.
Contador
de
visitas)????
Global.asax
El
archivo
global.asax
Permite escribir cdigo de aplicacin global.
No contiene etiquetas HTML ni ASP.NET
Se utiliza para definir variables globales y reaccionar a
eventos globales.
Contiene cdigo de tratamiento de eventos que reacciona
a los eventos de aplicacin o sesin.
El
archivo
global.asax
Se aade a la aplicacin web como un nuevo
elemento Clase de aplicacin global
Global.asax y Global.asax.cs
Importante:
El
archivo
global.asax
Slo puede haber un archivo global.asax
Debe residir en el directorio raz de la aplicacin
Default.aspx.cs
Global.asax.cs
protected void Application_Error(object sender, EventArgs e)
{ Response.Write("<b>");
int j = 1;
int x = 0;
int k=j / x;
CONTADOR
DE
VISITAS
Aadir
nuevo
elemento
Application.Add("contador", 0);
Distribucin
capas en el
proyecto
En
la
prctica
en
grupo
Una
solucin
con
2
proyectos:
Proyecto
Web
(con
referencia
al
proyecto
de
librera)
Contendr
la
interfaz
y
validaciones
Carpeta
CAD
Por
cada
EN
una
clase
CAD
para
el
acceso
a
datos