asp-c#

Post on 21-Sep-2014

396 Views

Category:

Documents

6 Downloads

Preview:

Click to see full reader

TRANSCRIPT

ING. JIMMY ANHUAMÁN LEÓN

Taller Desarrollo 2C# .Net SQL Server

AGENDA:UTILIZANDO CONTROLES.

VALIDACIÓN DE ENTRADA DE DATOS.CREANDO UNA CONECCION PARA BD.

Semana 2

ING. JIMMY ANHUAMÁN LEÓN

Utilizando Controles

I. Usando Paginas Code-Behind

II. Utilizando Controles Servidor

III. Eventos para controles de Servidor Web

IV. Usando Eventos de Paginas

ING. JIMMY ANHUAMÁN LEÓN

I. Usando Paginas Code-Behind

1. Como Implementar Código

2. Escribiendo Código Inline

3. Que son Páginas Code-Behind?

4. Entendiendo como Trabajan las Paginas Code-Behind

ING. JIMMY ANHUAMÁN LEÓN

1. Como implementar código

3 Métodos Para Agregar código:

Las paginas Code-behind son las páginas por defecto de Visual Studio.NET

Método Descripció n

Mixto Poner código dentro del mismo Archivo del contenido

Inline Poner código en una sección separada del archivo contenido

Code-Behind Poner código en Archivos Separados

ING. JIMMY ANHUAMÁN LEÓN

2. Escribiendo código Inline

Código y contenido dentro del mismo archivoSecciones diferentes dentro del Archivo para el código y HTML

<HTML><asp:Button id="btn" runat="server"/></HTML><SCRIPT Language="c#" runat="server">

private void btn_Click(object sender, EventArgs e){. . .

}</SCRIPT>

<HTML><asp:Button id="btn" runat="server"/></HTML><SCRIPT Language="c#" runat="server">

private void btn_Click(object sender, EventArgs e){. . .

}</SCRIPT>

ING. JIMMY ANHUAMÁN LEÓN

3. Qué son páginas Code-Behind?

Separación de código del contenido

Los Desarrolladores y Diseñadores de UI pueden trabajar independientemente

Form1.aspxForm1.aspx Form1.aspxForm1.aspx Form1.aspx.csForm1.aspx.cs

<tags><tags> codecode

codecode

Separate filesSingle file

ING. JIMMY ANHUAMÁN LEÓN

4. Como Trabajan las Paginas Code-Behind

Crea Archivos separados para usar interface de usuario y interface lógica

Usa La directiva @ Page para enlazar los 2 archivos

Pre-compile o JIT-compile

Page1.aspx Page1.aspx.cs

ING. JIMMY ANHUAMÁN LEÓN

II. Utilizando Controles Servidor

1. Que es Controles Servidor?

2. Tipos de Controles de Servidor

3. Guardando Estados del Control

4. Controles Servidor HTML

5. Controles Servidor Web

6. Seleccionando los controles apropiados

ING. JIMMY ANHUAMÁN LEÓN

1. Que es Controles Servidor?

Runat="server"

Los Eventos ocurren sobre el servidor

Guardan Estados

Tiene funcionalidad propia

Modelo de Objeto Común

Todos tienen Atributos Id y Te xtCrea HTML para browser específico

<asp:Button id="Button1" runat="serverText="Submit"/>

<asp:Button id="Button1" runat="serverText="Submit"/>

ING. JIMMY ANHUAMÁN LEÓN

2. Tipos de Controles de Servidor

Controles Servidor HTML

Controles Servidor WebControles Intrinsicos

Controles de Validación

Controles Enriquecidos

Controles de Listas Enlazables

Controles Web Internet Explorer

ING. JIMMY ANHUAMÁN LEÓN

3. Guardando Estados del Control

< %@ Page En able Vie w State = "False " %>< asp:Lis tBo x id= "Lis tNam e "

En able Vie w State = "true " run at= "se rve r">

</asp:ListBox>

< %@ Page En able Vie w State = "False " %>< asp:Lis tBo x id= "Lis tNam e "

En able Vie w State = "true " run at= "se rve r">

</asp:ListBox>

<input type="hidden" name="__VIEWSTATE"

value="dDwtMTA4MzE0MjEwNTs7Pg==" />

<input type="hidden" name="__VIEWSTATE"

value="dDwtMTA4MzE0MjEwNTs7Pg==" />

ING. JIMMY ANHUAMÁN LEÓN

4. Controles Servidor HTML

<input type="text" id="txtName runat="server" /><input type="text" id="txtName runat="server" />

ING. JIMMY ANHUAMÁN LEÓN

5. Controles Servidor Web

<asp:TextBox id="TextBox1runat="server">Text_to_Display

</asp:TextBox>

<asp:TextBox id="TextBox1runat="server">Text_to_Display

</asp:TextBox>

<input name="TextBox1" type="text" value="Text_to_Display"Id="TextBox1"/>

<input name="TextBox1" type="text" value="Text_to_Display"Id="TextBox1"/>

ING. JIMMY ANHUAMÁN LEÓN

6. Seleccionando los controles apropiados

ING. JIMMY ANHUAMÁN LEÓN

Demo

ING. JIMMY ANHUAMÁN LEÓN

III. Eventos para controles de Servidor Web

1. Que es un Evento?

2. Eventos Client-Side

3. Eventos Server-Side

4. Creando Eventos

5. Interactuando con controles dentro de eventos

ING. JIMMY ANHUAMÁN LEÓN

1. Que es un Evento?

Una Acción en respuesta para una interacción del usuario con los controles de la Pagina Web

ING. JIMMY ANHUAMÁN LEÓN

2. Eventos Client-Side

language

ING. JIMMY ANHUAMÁN LEÓN

3. Eventos Server-Side

ING. JIMMY ANHUAMÁN LEÓN

4. Creando Eventos

Visual Studio .NET declara variables y crea un procedimiento enlazado a un evento

protected System.Web.UI.WebControls.Button cmd1;

private void InitializeComponent(){

this.cmd1.Click += new System.EventHandler(this.cmd1_Click);this.Load += new System.EventHandler(this.Page_Load);

}private void cmd1_Click(object s, System.EventArgs e){}

protected System.Web.UI.WebControls.Button cmd1;

private void InitializeComponent(){

this.cmd1.Click += new System.EventHandler(this.cmd1_Click);this.Load += new System.EventHandler(this.Page_Load);

}private void cmd1_Click(object s, System.EventArgs e){}

ING. JIMMY ANHUAMÁN LEÓN

5. Controles dentro de eventos

Lee las propiedades del control del Servidor Web

Responde a otros controles de servidor web

strGreeting = "Hello " + txtName.Text;strGreeting = "Hello " + txtName.Text;

lblGreeting.Text = "new text";lblGreeting.Text = "new text";

ING. JIMMY ANHUAMÁN LEÓN

IV. Usando Eventos de Paginas

1. Entiendiendo el ciclo de vida de los ventos de una Pagina

2. Manejando el Evento Page.IsPostback

3. Enlazando 2 controles juntos

ING. JIMMY ANHUAMÁN LEÓN

1. Entiendiendo el ciclo de vida de los Eventos de una Pagina

Page is disposed

Page_LoadPage_Load

Page_UnloadPage_Unload

Textbox1_ChangedTextbox1_Changed

Button1_ClickButton1_Click

Page_InitPage_Init

Change EventsChange Events

Action EventsAction Events

ING. JIMMY ANHUAMÁN LEÓN

2. Manejando el Evento Page.IsPostback

Page_ Load se dispara sobre cada request

Usa Page .Is Po s tBack para la ejecución de lógica condicional

Page.IsPostBack impide recargar para cada postback

private void Page_Load(System.Object s, System.EventArgs e){if (!Page.IsPostBack){

//executes only on initial page load}//this code executes on every request

}

private void Page_Load(System.Object s, System.EventArgs e){if (!Page.IsPostBack){

//executes only on initial page load}//this code executes on every request

}

ING. JIMMY ANHUAMÁN LEÓN

3. Enlazando 2 controles juntos

Enlazando un control con otro es util para tomar valores desde una lista

Data binding

<asp:DropDownList id="lstOccupation autoPostBack="True" runat="server" >You selected: <asp:Label id="lblSelectedValue" Text="<%# lstOccupation.SelectedItem.Text %>" runat="server" />

<asp:DropDownList id="lstOccupation autoPostBack="True" runat="server" >You selected: <asp:Label id="lblSelectedValue" Text="<%# lstOccupation.SelectedItem.Text %>" runat="server" />

private void Page_Load(Object s, EventArgse){

lblSelectedValue.DataBind();}

private void Page_Load(Object s, EventArgse){

lblSelectedValue.DataBind();}

ING. JIMMY ANHUAMÁN LEÓN

demo

ING. JIMMY ANHUAMÁN LEÓN

Validación de Entrada de Datos

I. Visión General

II. Usando Controles de Validación

III. Paginas de Validación

ING. JIMMY ANHUAMÁN LEÓN

I. Visión General

1. Que es validación de ingreso de datos?

2. Validación Client-Side y Server-Side

3. Controles de validación ASP.NET

ING. JIMMY ANHUAMÁN LEÓN

1. Que es validación de ingreso de datos?

ING. JIMMY ANHUAMÁN LEÓN

2. Validación Client-Side y Server-Side

Valid?

Valid?

User EntersData

No

No

Yes

Yes

Error Message

Client

Server

Web ApplicationProcessed

ING. JIMMY ANHUAMÁN LEÓN

3. Controles de validación ASP.NET

ASP.NET Provee controles de validación para :

Comparar valores

Comparar para una formula personalizada

Comparar rangos

Compara para una expresión de patrón regular

Requiere usar ingreso de usuario

Resume los controles de validación sobre una pagina

ING. JIMMY ANHUAMÁN LEÓN

II. Usando Controles de Validación

1. Agregando controles de validación para un formulario web

2. Posicionando controles de validación sobre un formulario web

3. Combinando controles de validación

4. Controles de Validación de Ingreso Datos

5. Usando el control RegularExpressionValidator

6. Usando el control CustomValidator

ING. JIMMY ANHUAMÁN LEÓN

1. Agregando controles de validación

Agrega un control de validación.

Select the input control to validate

Set validation properties

<asp:Type_of_Validatorid="Validator_id"runat="server"ControlToValidate="txtName"ErrorMessage="Message_for_error_summary"Display="static|dynamic|none"Text="Text_to_display_by_input_control">

</asp:Type_of_Validator>

<asp:Type_of_Validatorid="Validator_id"runat="server"ControlToValidate="txtName"ErrorMessage="Message_for_error_summary"Display="static|dynamic|none"Text="Text_to_display_by_input_control">

</asp:Type_of_Validator>

<asp:TextBox id="txtName" runat="server" /><asp:TextBox id="txtName" runat="server" />

111

222

333

ING. JIMMY ANHUAMÁN LEÓN

2. Posicionando controles de validación

Crear mensaje de error

Seleccionando Mode Display

Static

Dynamic

ING. JIMMY ANHUAMÁN LEÓN

3. Combinando controles de validación

Puedes tener multiple controles de validación sobre un mismo control de ingreso de datos.

El Control RequiredFieldValidator solo chequea controles en blanco.

ING. JIMMY ANHUAMÁN LEÓN

4. Controles de Validación

RequiredFieldValidator

In itialValueCompareValidator

Value To Co m pare or Co n tro lTo Co m pareTypeOpe rato r

RangeValidator

Min im um ValueMaxim um ValueType

ING. JIMMY ANHUAMÁN LEÓN

5. Control RegularExpressionValidator

Usado cuando el ingreso de datos debe estar conformado por un predeterminado patrón.

Visual Studio .NET incluye patrones para:

Número de teléfonos.

Código postales.

Direcciones E-mail

<asp:RegularExpressionValidator ControlToValidate="US_PhoneNumber"ValidationExpression="((\ (\ d{3}\ ) ?)|(\ d{3}-))?\ d{3}-\ d{4} ">*</asp:RegularExpressionValidator >

<asp:RegularExpressionValidator ControlToValidate="US_PhoneNumber"ValidationExpression="((\ (\ d{3}\ ) ?)|(\ d{3}-))?\ d{3}-\ d{4} ">*</asp:RegularExpressionValidator >

ING. JIMMY ANHUAMÁN LEÓN

Expresiones Regulares

Las expresiones regulares son una serie de carácteres que forman un patrón, normalmente representativo de otro grupo de caracteres mayor, de tal forma que podemos comparar el patrón con otro conjunto de caracteres para ver las coincidencias.

Las expresiones regulares estan disponibles en casi cualquier lenguaje de programación, pero aunque su sintaxis es relativamente uniforme, cada lenguaje usa su propio dialecto.

Si es la primera vez que te acercas al concepto de expresiones regulares (regex para abreviar) te animará saber que seguro que ya las has usado, aún sin saberlo, al menos en su vertiente mas básica

ING. JIMMY ANHUAMÁN LEÓN

Expresiones Regulares

Por ejemplo, cuando en una ventana DOS ejecutamos dir *.*, para obtener un listado de todos los archivos de un directorio, estamos utilizando el concepto de expresiones regulares , donde

el patrón * coincide con cualquier cadena de caracteres.

Un Ejemplillo :

ta este es nuestro patrón. Si lo comparamos con: ta coincide tades2 coincide tades1 coincide tabada coincide mita coincide batare coincide

atmo no coincide

ING. JIMMY ANHUAMÁN LEÓN

Expresiones Regulares

ALTERNACION: Una barra vertical separa las alternativas. Por ejemplo, "marrón|castaño" casa con marrón o castaño.

CUANTIFICACIÓN: Un cuantificador tras un carácter especifica la frecuencia con la que éste puede ocurrir. Los cuantificadores más comunes son +, ? y *.

+ El signo más indica que el carácter al que sigue debe aparecer al m e n o s un a ve z. Po r e je m plo , "ho + la" de scribe e l co n jun to infinito hola, hoola, hooola, hoooola, etcétera.

? El signo de interrogación indica que el carácter al que sigue puede aparecer como mucho una vez. Por ejemplo, "ob?scuro" casa con oscuro y obscuro

* El asterisco indica que el carácter al que sigue puede aparecer cero, una, o más veces. Por ejemplo, "0*42" casa con 42, 042, 0042, 00042, etcétera

ING. JIMMY ANHUAMÁN LEÓN

Expresiones Regulares

AGRUPACION: Los paréntesis pueden usarse para definir el ámbito y precedencia de los demás operadores. Por ejemplo, "(p| m)adre" es lo mismo que "padre| madre

EL PUNTO . :El punto es interpretado por el motor de búsqueda como cualquier otro carácter excepto los caracteres que representan un salto de línea

ING. JIMMY ANHUAMÁN LEÓN

Expresiones Regulares

Caracteres Especiales:

Descripció n

\ r Regreso de al inicio

\ n Nueva línea

\ e Tecla Escape

\ d Representa un dígito

\ w Cualquier caracter alfanumérico

\ s Espacio en blanco

\ D Representa cualquier caracter que no sea un dígito

\ W Representa cualquier caracter no alfanumérico

ING. JIMMY ANHUAMÁN LEÓN

Expresiones Regulares

Descripció n

[ ] Útil cuando es necesario buscar uno de un grupo de caracteres. Dentro de los corchetes es posible utilizar el guión "-" para especificar rangos de caracteres: "[\ dA-Fa-f] Numeros Hexa.

$ Representa el final de la cadena de caracteres o el final de la línea.

^ Tiene una doble funcionalidad:1. Carácter individual: representa el inicio de la cadena "^[a-z]Inicio con una letra minuscula.2. Junto con los corchetes: Negación del patrón, ejemplo : [^\ w ] cualquier carácter que no sea alfanumérico o un espacio.

{ num} Indica numero de ocurrencias del patrón se tiene el siguiente formato {n} {n,m} {n,}

ING. JIMMY ANHUAMÁN LEÓN

6. Usando el control CustomValidator

Puede validar sobre client-side or server-side.

Clie n tValidatio n Fun ctio nOn Se rve rValidate

Validate with:

Formula

Data

COM objects

Web Service

ING. JIMMY ANHUAMÁN LEÓN

III. Paginas de Validación

1. Usando la Propiedad Page.IsValid

2. Usando el Control ValidationSummary

ING. JIMMY ANHUAMÁN LEÓN

1. Usando la Propiedad Page.IsValid

Obtiene todas las validaciones de los controles.

Private void cmdSubmit_Click(Object s, EventArgs e) {

if (Page.IsValid){Message.Text = "Page is valid! ;' Perform database updates or other logic here

}}

Private void cmdSubmit_Click(Object s, EventArgs e) {

if (Page.IsValid){Message.Text = "Page is valid! ;' Perform database updates or other logic here

}}

ING. JIMMY ANHUAMÁN LEÓN

2. Control ValidationSummary

Congrega los mensajes de errores de todos los controles de validación sobre la página

Puede mostrar el texto y los mensajes de errores

Usa Text="*" para indicar la ubicación del error

<asp:ValidationSummary id="valSummary runat="server"HeaderText="These errors were found:"ShowSummary="True" DisplayMode="List"/>

<asp:ValidationSummary id="valSummary runat="server"HeaderText="These errors were found:"ShowSummary="True" DisplayMode="List"/>

ING. JIMMY ANHUAMÁN LEÓN

Demo

ING. JIMMY ANHUAMÁN LEÓN

Creando una Coneccion para BD

1. Seguridad de SQL Server

2. Usando el Servidor Explorer para Generar una Conección

3. Creando una coneccíón

4. Modelo de Objetos del DataAdapter

5. Generando un DataSet

ING. JIMMY ANHUAMÁN LEÓN

1. Seguridad de SQL Server

SQL ServerSQL ServerWeb ServerWeb Server

SQL ServerSQL Server

Web ServerWeb Server

ING. JIMMY ANHUAMÁN LEÓN

2. Usando el Servidor Explorer para Generar una Conección

Creas una nueva connección de datos, arrastrando una Tabla desde el Explorador de Servidores

ING. JIMMY ANHUAMÁN LEÓN

3. Creando una conección

Usando SqlConnection

Parametros de configuración de la cadena de conexión.

Connection timeoutData sourceInitial catalogIntegrated security = false

User ID

Password

String strConn = "data source=localhost; " & _"initial catalog=northwind; integrated security=true"

Dim conn As New SqlConnection(strConn)

String strConn = "data source=localhost; " & _"initial catalog=northwind; integrated security=true"

Dim conn As New SqlConnection(strConn)

ING. JIMMY ANHUAMÁN LEÓN

4. Creando una conexión en WebConfig

Sección de configuración

<configuration> <connectionStrings>

<add name="northwind" connectionString= Data Source=(local);Initial Catalog=CursoNetEnosa; Integrated Security=true;" providerName="System.Data.SqlClient" / >

</connectionStrings> </configuration>

ING. JIMMY ANHUAMÁN LEÓN

5. Utilizando una conexion de WebConfig

Acceso de lectura/ escritura a especificaciones de configuración.Ejemplo

ASP.NET 2.0 provee una API de configuración mas rica que versiones anteriores, facilitando la lectura y escritura de los archivos de configuración desde el código. Este ejemplo muestra como recuperar el valor de una cadena de conexión a la base de datos, declarada en un web.config.

SqlConnection connection = new SqlConnection( ConfigurationManager.ConnectionStrings[

conTades2"].ConnectionString);

ING. JIMMY ANHUAMÁN LEÓN

DataBaseHelper

BinaryIntellect DataBaseHelper es un componente de acceso a datos de código abierto que simplifica la ejecución de consultas y procedimientos almacenados.

Este esta desarrollado usando la nueva clase factoria de ADO.NET 2.0 y permite que escribir el proveedor como código neutral.

DataBaseHelper

This document was created with Win2PDF available at http://www.daneprairie.com.The unregistered version of Win2PDF is for evaluation or non-commercial use only.

top related