Desarrollo de aplicaciones web con ASP.NET

Angel Soto

 

dreamensys@gmail.com

ansoto.com

@dreamensys

Web Developer

A tener en cuenta...

  • Planeación del prototipo
  • Code behind (c#)
  • Controles Gráficos de servidor
  • AJAX
  • Páginas maestras
  • Code cooking!

Prototipo

  • Orientado a objetos
  • Case Sensitive
  • Similar a JAVA
  • C y C++
  • Fuertemente tipado
  • Microsoft

Con C# puedes construir...

  • Formularios para Windows
  • Aplicaciones Web
  • Servicios Web
  • Aplicaciones Móviles Híbridas (Xamarin)

;

int
double
decimal
char
string
bool
int mivariable = 10;
double mivariable = 23.5;
decimal mivariable = 9.95M;
char mivariable = 'a';
string mivariable = "Hello, world";
bool mivariable = true;

Algunos tipos de datos como:

entre otros...

Arrays

// Unidimensionales
string[] frutas = new string[3];
string[] frutas = {"Manzana", "Pera", "Coco"};

// Multidimensionales
//2 dimesiones
string[,] alumnos= new string[2, 2];
string[,] alumnos= new string[2, 2] {{"Pedro","Perez"},
                                      {"Sara","Lopez"} };

//3 dimesiones
int[, ,] array3Da = new int[2, 2, 3]
int[, ,] array3Da = new int[2, 2, 3] { { { 1, 2, 3 }, { 4, 5, 6 } }, 
                                       { { 7, 8, 9 }, { 10, 11, 12 } } };
y así!
// 1 dimensión
int[] intArray = {1, 2, 3, 4};
int element = stringArray[2];
// 2 dimensiones
int[,] intArray = {{1, 2}, {3, 4}};
int element = intArray[0, 1];

Acceso

ArrayList

ArrayList dynamicList = new ArrayList();
dynamicList.Add("one");
dynamicList.Add("two");
dynamicList.Add("three");

string item = Convert.ToString(dynamicList[0]);

Listas

// Creación de una lista
List<string> alumnos = new List<string>();

// Agregar elementos a una lista
alumnos.Add("Mario");
alumnos.Add("José");

// Iterar una lista
foreach (var alumno in alumnos)
{
    Console.Write(alumno + " ");
}

// Obtener un índice
  Console.Write(alumnos[0] + " ");

Enumeradores

enum UserType
{
    Admin,
    Guest,
    Invalid
}

UserType newUserType = UserType.Admin;
Aritméticos + - * / %
Lógicos ! && ||
Concatenación +
Relacional == != < > <= >=

Algunos operadores como:

entre otros...

Estructuras de control

if

switch

if (i == 2) {
    // ...
}
else if (i == 3) {
    // ...
}
else {
    // ...
}
switch (i) {
    case 1:
        ...
        break;
    case 2:
    case 3:
        ...
        break;
    default:
        ...
        break;
}

for

while

for (int i = 0; i < 10; i++) {
    // ...
}
while (i < 10) {
    // ...
}

foreach

foreach (char c in charList) {
    // ...
}

Control de errores

try{
    //Bloque de código
}
catch(Exception ex){
    // Tratamiento de excepciones
}
finally{
    // Bloque de código
}

Métodos

public int sumar(int numero1, int numero2){
    int resultado = numero1 + numero2;
    return resultado;
}

Modificador de

acceso

Objeto

retorno

Nombre

método

 

Parámetros

de entrada

 

Objeto de retorno

Clases

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
namespace MiNameSpace
{
    class MiClase {
        public MiClase(){
            // Constructor
        }
        static int funcionA (int x, int y) {
            // Comentario de una línea
        }
        static int funcionB (int x, int y) {
            /*
            Bloque de 
            comentarios
            */
        }
    }
}

Objetos

MiClase objeto = new MiClase();

Code cooking!

Objeto Request

//Enviando parámetros
Response.Redirect("Page2.aspx?test=" + txtTestBox.Text);

// Accesando a los parámetros por url
Request.QueryString["test"];

// Por índice
var variable = Request["var"]

Objeto Response

Response.Redirect("tu_pagina.html");

Controles de Servidor

  • Estándar
  • Validación
  • AJAX
  • Data

Estandar

Validación

  • Compare Validator
  • Custom Validator
  • Range Validator
  • Regular Expression Validator
  • Required Field Validator

AJAX

Data

Master Page

Code cooking!

Made with Slides.com