Aprendiendo a Programar
Tutorial del Curso
Autor:
Comunidad IT - Asociacin Civil de Formacin e Insercin Laboral en Tecnologas de la Informacin
Contenido
Captulo 2. Aplicaciones en la nube y cmo comenzar a programar ...3
Captulo 3. La interfaz de usuario ....... 37
Captulo 4. Inteligencia en la interfaz de usuario ..82
Captulo 5. El Servidor Web ....136
Captulo 6. El lenguaje C# .......158
Captulo 7. El Servidor Web. Conceptos Avanzados ....189
Captulo 8. Dnde y cmo se guardan los datos 211
Captulo 9. Conectando los datos con la aplicacin .242
Nota: Los captulos 1, 10, 11 y 12 son tericos, por lo que no hay tutorial incluido.
Aplicaciones en la nube y
cmo comenzar a programar
preparacin del ambiente de desarrollo
Aprendiendo a programar. Capitulo 2. Tutorial
consideraciones iniciales
Para que puedas utilizar tu
computadora para disear
aplicaciones debes tener especial
cuidado de los programas
que tengas instalados
verificar primero
Tu computadora debe estar libre de
virus, spyware y software innecesario.
Debes desinstalar toda barra, widgets
o programas que no sea esencial en
tu computadora
esto incluye
Barras de
navegacin
adicionales en el
browser
Y extensiones
innecesarias
esto incluye
Widgets y
aplicaciones
corriendo en
segundo plano
considera
Cuidar el software que se instala en la
computadora.
Si algo falla, es dficil detectar si se
trata de un error en algo que
estamos programando o
generado por un programa
secundario
si compartes la computadora
con otras personas
Intenta crear y
utilizar un perfil de
usuario diferente
exclusivamente
para programar y
mantenlo aislado
comencemos
Aunque sea una
obviedad antes de
instalar, asegrate
que tu Sistema
Operativo este
actualizado
ltima versin del
navegador de internet
Descarga la ultima
versin disponible
que exista del
browser de
internet
no slo de Microsoft, de todos
los fabricantes
Debes asegurarte
que tu aplicacin
funciona para
todo tipo de
cliente
denominaciones
El entorno de desarrollo se llama
Microsoft Visual Studio
Existen versiones Profesionales,
Empresariales y Express
diferencias
Si bien las versiones Profesionales y
Empresariales traen algunas
caractersticas adicionales, con las
versiones Express alcanzan (y sobran)
para comenzar a programar
no descargues los programas
de cualquier sitio
Utiliza siempre el
sitio oficial para
descargar.
Las versiones
Express no tienen
costo
no es necesario instalar todo
Para este curso
precisas instalar
Visual Studio
Express Edition
Web
si tu PC tiene algunos aos
Puedes instalar las versiones 2012 o
2010 si tu computadora tiene un
Sistema Operativo de hace unos aos
Tambin sirven para comenzar.
De todos modos recuerda, precisas
una conexin permanente a Internet.
si tu conexin a internet no es muy rpida
Intenta descargar la versin
Imagen ISO, es como una copia del
DVD.
Luego quema un DVD con la imagen
o bien utiliza Virtual CD-ROM (si no
lo tienes, descrgalo) para abrir el la
imagen ISO y ejecutar el instalador
Finalizada la instalacin, la primera vez te solicitar
Iniciar sesin con un usuario de
desarrollo.
Esto es para acceder a los servicios
adicionales en la nube para
desarrolladores.
Puede que sea tu cuenta habitual de
hotmail/live u otra de productos MS
al momento de iniciar
Te solicitar conectarte a AZURE
(opcional), puedes hacerlo en otro
momento.
AZURE te permitir acceder a
servicios para tu aplicacin, algunos
son gratuitos, otros pagos.
si visualizaste la pantalla anterior
Haz completado la instalacin con
xito.
Hagamos la primera prueba
inicia un nuevo proyecto
Visual Studio
soporta diferentes
lenguajes.
Asegrate de
elegir Visual C# Web Aplicacin
Web ASP.NET
en la configuracin inicial
Puedes utilizar la
plantilla Single Page
para entender la
estructura.
En este ejemplo
utilizaremos la
plantilla MVC
en la parte lateral de tu proyecto
Encontrars el
Explorador de
Soluciones,
desde aqu,
podras cada uno
de los archivos de
tu proyecto
desde el explorador de soluciones
Abre y edita
index.cshtml
en el documento index.cshtml
Y escribe lo
siguiente.
Ten cuidado con
los smbolos,
forman parte del
lenguaje HTML
presiona el botn Iniciar
( el smbolo PLAY o presiona F5 )
Luego de unos
segundos (lo que
tarde en compilar),
se abrir tu
aplicacin en un
browser de
internet
Felicitaciones!
Acabas de escribir tus primeras lineas
de cdigo y lograste que tu primera
aplicacin mostrara el resultado que
deseabas.
entendiendo un poco lo que hicimos
Escribiste una porcin de cdigo en
lenguaje HTML, el cual tiene una
simbologa en particular.
Aplicaste los cambios en la
aplicacin, la cual se compila y te
permite ver el resultado.
explora un poco ms
Puedes editar todos los archivos en
de extensin cshtml del proyecto y
escribir trozos de cdigo HTML.
Comienza explorando en el buscador
web con las claves basic html
elements
debes detener la aplicacin
Para editar y
probar los nuevos
cambios, siempre
debes detener la
aplicacin
ten en cuenta
En Visual Studio, los archivos del tipo
html se denominan cshtml (ya que
pueden hacer cosas adicionales).
Lo que encuentres para html,
funciona para los cshtml
tu entorno est listo para desarrollar en un ambiente local
Esta primera prueba sirvi para verificar
la correcta instalacin del entorno de
desarrollo. Considera que tu aplicacin
slo es visible en tu computadora.
Luego podrs instalarla en un servidor
WEB para acceder a ella desde cualquier
parte del mundo
La interfaz de usuario
Crear y editar HTML, uso de herramientas del desarrollador
Aprendiendo a programar. Captulo 3. Tutorial
objetivo
Crearemos una Aplicacin Web de
cero, modificaremos las interfaces de
usuario en HTML, su estilo en CSS e
identificaremos como se invocan las
diferentes pantallas de nuestra
aplicacin
comencemos
Crea un nuevo
proyecto de tipo
Visual C# Aplicacin web
ASP.NET y utiliza la
plantilla simple
MVC
vamos a crear una nueva pgina y agregarla al proyecto
Recuerda que en programacin,
cuando creas un nuevo archivo se
deben evitar los nombres que
contengan espacios, acentos,
nmeros o smbolos.
Reemplaza los espacios con el guin
bajo _ o bien omtelos.
en el explorador de soluciones
Las pantallas (vistas)
HTML siempre estn
en la carpeta VIEWS.
Las carpetas sirven
para ordenar los
archivos.
crea una nueva carpeta sobre VIEWS
Posicinate sobre Views, click
derecho.
Agregar Nueva Carpeta
Coloca el nombre Custom
agrega una nueva vista (archivo cshtml), en la carpeta custom, recin creada
Posicinate sobre Custom , click
derecho.
Agregar Nueva Vista
Coloca el nombre Principal
al momento de crear la vista
te preguntar si quieres usar
una plantilla
Elige la plantilla vaca
(empty)
este debera ser tu resultado
Tu vista est lista
para ser editada
antes de continuar, debemos entender algunos principios
El modelo de desarrollo MVC tiene
un comportamiento que necesitamos
entender para poder continuar
Veamos cuales son
las pantallas (vistas) son el resultado de una accin del usuario
Para poder ver una pantalla de
nuestra aplicacin, el usuario debe
hacer algo, ya sea un click en un link
o bien escribir la ruta completa en la
barra de direcciones del navegador
web.
nunca se solicita una pantalla por el nombre del archivo
En la barra de direcciones, nunca
escribimos el nombre del archivo
para poder acceder (en este caso
/Custom/Principal.cshtml)
Sino que accedemos en forma
INDIRECTA, a travs de los archivos
llamados CONTROLLERS
para que se pide la pagina en forma indirecta
El CONTROLADOR, es el intermediario
entre lo que pide el usuario y lo que
deseamos mostrarle.
Un CONTROLADOR podra decidir
mostrar un pgina u otra, por ejemplo
/Custom/Principal.cshtml o bien
/Custom/Principal_Version_Ingles.chtml
porqu se pide en forma indirecta una pgina?
El CONTROLADOR permite tomar
decisiones en nuestra aplicacin, y en
base a esas decisiones, mostrar uno u
otro resultado
para el usuario de nuestra aplicacin esto es INVISIBLE
Cuando solicitemos la pgina, lo haremos
por el punto de entrada que definamos
en el CONTROLADOR.
Este punto de entrada puede tener un
nombre DISTINTO a la pgina.
El usuario no sabe que si le mostramos la
pantalla A o B, solo sabe que ingres a la
ruta que le provee el CONTROLADOR
identificando los controladores
Los archivos
Controladores
estn ubicados en
la carpeta
CONTROLLER.
En este caso
existen 3
abre y edita HomeController.cs
El lenguaje que ves
escrito es C#.
Veremos ms detalles
en el siguiente
capitulo.
Necesitamos crear un
punto de acceso a
nuestra vista
agrega el punto de entrada en
el CONTROLADOR
Ten mucho
cuidado de
agregar la porcin
de cdigo
sealada, con sus
smbolos
especiales
observa lo siguiente
El punto de entrada le indica la
ubicacin del archivo, en nuestro
caso la carpeta CUSTOM y la vista
principal.cshtml
return View("/Views/Custom/principal.cshtml");
que significa?
Que nuestra vista, ahora es accesible
a travs del browser de internet a
travs del punto de entrada
/Home/Principal
Home, es el nombre del controlador
HomeController.cs
Principal es el nombre de la funcin
public ActionResult Principal()
probemos la pagina
Ve al men
depurar y elige
INICIAR
DEPURACION o
presiona F5
una vez que haya iniciado
Escribe (a mano)
en la barra de
direcciones, el
punto de entrada
/Home/Principal y
presiona enter
el controlador tomar el CONTROL
El CONTROLADOR
recibe la orden y deriva
a la VISTA que
indicaste en
return
View("/Views/Custom/principal.cshtml");
haz creado un nuevo punto de entrada para tu vista
De ahora en ms puedes editar la
vista principal.cshtml, tu punto de
entrada ya existe y siempre ser el
mismo.
Asimismo, puedes editar el punto de
entrada y por el mismo camino
/Home/Principal decidir presentar
otra pgina
ejercita el concepto
Detn la aplicacin.
Crea una nueva vista en la carpeta
CUSTOM y nombrala Secundaria
Edita el archivo HomeController.chtml
ejercita el concepto
Modifica el punto de entrada
reemplaza
return View("/Views/Custom/principal.cshtml");
Por
return View("/Views/Custom/secundaria.cshtml");
ejercita el concepto
Inicia nuevamente la aplicacin (F5) y
coloca en el browser la direccin
/Home/Principal
Si todo es correcto, habrs visto que EL MISMO PUNTO DE
ENTRADA ahora devolvi (RENDERIZ) la vista Secundaria
continua ejercitando
Crea una nueva carpeta llamada
PRUEBAS.
Crea una vista con el nombre
PRUEBA1.
Agrega en HomeController.cs un
punto de entrada para la nueva vista.
El punto de entrada debe tener un
nombre distinto a los existentes.
hemos comprendido como se llaman las pantallas (VISTAS) a travs de los
Controladores (CONTROLLERS)
Es ms, recuerdas que cuando
iniciamos el proyecto elegimos la
plantilla MVC ?, esto significa
M = Modelo
V = Vistas
C = Controladores
Continuemos con HTML
El cdigo HTML se
edita en los
archivos de tipo
cstml, o sea, los
ubicados en la
carpeta VIEWS
prueba los elementos HTML
En el curso, mencionamos los
diferentes componentes HTML
Prueba cada uno de ellos en las
diferentes pginas.
Para que ser ms ordenado, utiliza
diferentes vistas para que puedas
probar los componentes por
separado
edita principal.chtml
Agrega un ttulo
<h1>
Un prrafo <p> y
un elemento link
<a href..>
a esta altura deberas haber logrado
Agregar pginas (VISTAS)
Agregar puntos de entrada en el
CONTROLADOR
Editar las pginas en HTML y agregar
elementos bsicos
Controlar como se llaman las pginas
usando elementos del tipo <a href..>
continua ejercitando
Intenta crear elementos del tipo:
SELECT (listas desplegables)
INPUT TEXT (cajas de texto)
TEXTAREA (cajas grandes de texto)
A REF (links)
UL (listas)
Editemos el estilo (colores y formas)
El estilo se define
en el lenguaje CSS.
El archivo por
defecto se
encuentra en la
carpeta CONTENT
y se llama Site.css
Recuerda el concepto que para
editar un estilo tienes dos formas
Colocando un id al
elemento HTML
Colocando una
CLASE al elemento
html
luego, debes abrir el archivo de estilo
Site.css
Coloca el estilo
segn el ID
usando el prefijo #
Coloca el estilo
segn la CLASE
usando el prefijo .
presiona la tecla Ejecutar
( o presiona F5 )
Ejecuta la
aplicacin y
visualiza los
cambios en el
estilo
quieres tu propia hoja de estilo?
Puedes crear tu
propia hoja de
estilo, para esto,
sobre la carpeta
CONTENT, click
derecho, agregar
nuevo elemento
prueba diferentes estilos y formas para los elementos HTML
Coloca en el buscador web las
siguientes claves
css basic styles
Prueba cada uno, lo importante no es
que quede bello, sino que sepas que
se puede hacer con cada uno, para
cuando debas usarlo
potencia tu aplicacin
En Visual Studio
2013, tu aplicacin
trae incorporado
BOOTSTRAP, que
es una librera de
estilos
predefinidos
Busca la documentacin en la web
Coloca en el
buscador
Twitter Bootstrap
v3.0
Documentation
Empieza por
components
Bootstrap es muy simple de
implementar
Observa los ejemplos
en HTML e inclyelos
en tus VISTAS.
Tu aplicacin podr
adquirir un aspecto
profesional
contina ejercitando
Intenta comprender los diferentes
elementos HTML y cmo aplicarles
estilo
Utiliza Bootstrap para mejorar el
aspecto
Define diferentes puntos de acceso y
links entre las pginas para definir la
estructura de tu sitio web
Inteligencia en la
interfaz de usuario
Javascript, uso de liberas externas
Aprendiendo a programar. Captulo 4. Tutorial
objetivo
Crearemos una Aplicacin Web de
cero, utilizaremos Javascript para
probar para agregar funciones a los
componentes HTML
Identificaremos libreras utiles
externas de Javascript para incorporar
a nuestro proyecto
conceptos previos
Javascript es el lenguaje de
programacin que te permite agregar
funciones complejas al HTML.
Si te resulta dificultoso comprender
que tipo de funciones, observa en la
pgina de Bootstrap la seccin
JAVASCRIPT.
observa especialmente los
siguientes controles de Bootstrap
Carousel
Collapse
Tab
Modal
DropDown
componentes predefinidos
Al crear un nuevo proyecto web en Visual
Studio 2013, este incorpora
automticamente:
Javascript (no es necesario agregar nada)
JQUERY (Javascript Query)
BOOTSTRAP.JS (Seccin Componentes
Javascript)
esto significa
Que podremos
utilizar cualquiera de
las caractersticas de
estos controles, sin
agregar nada.
Porque ya vienen
incluidos
comencemos con la ejercitacin
Incorporaremos funciones
JAVASCRIPT progresivamente
Para esto, comencemos con un nuevo
proyecto
primero
Crea un nuevo
proyecto de tipo
Visual C# Aplicacin web
ASP.NET y utiliza la
plantilla simple
MVC
antes de continuar precisamos un pequeo ajuste
Para simplificar el uso de Javascript y
Jquery, precisamos que muevas a la
cabecera la seccin donde se
incorpora Jquery a nuestra pagina.
ajusta las libreras JQuery
Ubica el archivo
_Layout.cshtml ubicado
en Views / Shared.
Edtalo y mueve la
seccin inferior hacia
arriba como indica la
imagen a continuacin
traslada las lineas de Jquery y
bootstrap
As debera quedarte
el header.
Asegrate que estas
lneas son las que
estaban escritas en la
parte inferior y que
las has borrado de
abajo
tu aplicacin ya est lista para usar Jquery
Esta correccin de la ubicacin de
JQuery no es necesaria aplicarla en
todos los proyectos.
Lo hacemos en este tutorial para
simplificarte las ejercitaciones que
vamos a realizar.
crea una nueva carpeta sobre VIEWS
Posicinate sobre Views, click
derecho.
Agregar Nueva Carpeta
Coloca el nombre Custom
agrega una nueva vista (archivo cshtml), en la carpeta custom, recin creada
Posicinate sobre Custom , click
derecho.
Agregar Nueva Vista
Coloca el nombre Principal
al momento de crear la vista
te preguntar si quieres usar
una plantilla
Elige la plantilla vaca
(empty)
recuerda lo que vimos en el captulo anterior
Para poder acceder a la vista
principal, debemos crear un punto de
entrada en el Controlador para la
vista principal.
Repasa los conceptos desde la hoja
11 del anterior captulo si no
recuerdas como.
ubica la vista principal
Una vez ubicada
incorpora el
siguiente cdigo
aqu est mas cerca
<script language="javascript" type="text/javascript">
function decirHola(){
alert("Hola, esto es con Javascript")
}
decirHola();
</script>
probemos la pagina
Ve al men
depurar y elige
INICIAR
DEPURACION o
presiona F5
una vez que haya iniciado
Escribe (a mano)
en la barra de
direcciones, el
punto de entrada
/Home/Principal y
presiona enter
este debera ser tu resultado
Un alerta, en el
centro de la
pantalla, con el
mensaje que
habas escrito
bindear (ligar-enlazar) un evento javascript a un elemento HTML
Procedamos a disparar la misma
alerta, esta vez, a travs de un botn,
cuando el usuario haga click.
Vamos a usar Javascript / JQuery
Detn la aplicacin, edita el archivo
principal.cshtml
Incorpora un botn,
para esto utilizamos
el ejemplo HTML de
botn de Bootstrap
Si no recuerdas la
forma, ve a la
pgina, seccin
Componentes
asocia el evento click a la funcin
Asigna un id al
elemento button
HTML
Escribe en Javascript/
Jquery que al hacer
click, llame a la
funcin
probemos la pagina
Inicia depuracin.
Esta vez la caja de
alerta solo debera
mostrarse cuando
hagas click en el
botn de la pgina
probemos la pagina
El alerta slo
aparece cuando
haces click
continuemos ejercitando
Probaremos otros eventos Jquery
para disparar el alerta.
La idea es comprender que acciones
podemos atrapar para lanzar una
funcin. Aunque lanzemos la misma
alerta, presta especial atencin a la
accin que la dispara.
asociemos otro evento
Detengamos la
aplicacin.
Editemos
principal.chtml
Modifiquemos la
palabra click por otros
eventos
evala otros eventos
Si reemplazas click por siguiente
dblclick
hover
mousedown
mouseup
es fcil
Detengamos la
aplicacin.
Editemos
principal.chtml
Modifiquemos la
palabra click por otros
eventos
sigue explorando
Usa el buscador web con las claves
jquery events
En la pgina oficial de Jquery,
encontrars detalladamente todos los
eventos disponibles
componentes ms complejos
Diseemos un Carousel.
El Carousel es el componente tpico
para mostrar una serie de imgenes.
Para esto necesitamos que elijas 4 o 5
fotografas o imgenes que tengas en
tu computadora. Haremos un
Carousel de imagenes con ellas
Incorpora las imgenes al proyecto
En el explorador de
soluciones, crea la
carpeta img dentro de
Content.
Elige una o varias
fotos de tu compu y
arrstralas hasta la
carpeta
Crea una vista adicional para probar
Crea una carpeta
llamada Pruebas en
Views, crea una vista
llamada Prueba1
agrgale un punto de entrada
En el Controlador
HomeController.cs
Agrega el punto de
entrada para la vista
prueba1.
Recuerda que para
probar la ruta ser
/Home/Prueba1
consulta la documentacin del Carousel
Dirgete a la pgina web de
Bootstrap y consulta la
documentacin del Carousel, copia
y pega el cdigo HTML en tu
pgina prueba1.cshtml
http://getbootstrap.com/javascript/
#carousel
debera quedar algo as
Dentro del cdigo
HTML ubica los
elementos del tipo
IMG
Y completa la
direccin completa de
tus imgenes
Indica las imagenes
Recuerda que las
imgenes son las que
guardaste en la
carpeta Content/img
Los nombres de las
imgenes se
corresponden con los
de la carpeta
cruza los dedos y a probar
Inicia depuracin.
Si todo est bien,
debera mostrar
tus imgenes.
Recuerda que el
punto de entrada
es Home/Prueba1
contina explorando
Intenta implementar por ti mismo
los controles
Tab, Modal, Dropdown y ToolTip
Dirgete a la documentacin de la
pgina y modifica lo que
corresponda
validadores
Adicionalmente el template de
proyectos Web de Visual Studio 2013,
trae incorporada la libera
http://jqueryvalidation.org
Estos permiten verificar que los datos
de un formulario cumplan
determinadas condiciones y lance un
alerta en caso de error
un ejemplo de como funcionan?
En este formulario, si
no ingresas algun
dato, lanza un
mensaje de error al
usuario.
Todo esto con
Javascript
ejercitemos
Crearemos un formulario HTML con
varios campos del tipo input a los
cuales les incorporamos validadores
Precisamos agregar la libera
Edita el archivo
_layout.cshtml, para
agregar a la seccin
HEAD, la libera de
validadores
Crea una vista adicional para probar
Crea una carpeta
llamada Pruebas en
Views, crea una vista
llamada prueba2 (al
lado de prueba1)
agrgale un punto de entrada
En el Controlador
HomeController.cs
Agrega el punto de
entrada para la vista
idntico a prueba1
pero para prueba2
En este caso el punto
de entrada ser
/Home/Prueba2
creamos un formulario dentro
de prueba2
Ingresamos los
campos indicados en
la imagen
agregamos los validadores
Usando la
documentacin de la
pgina
http://jqueryvalidatio
n.org/documentation
Agregamos el
validador required y el
llamado a la funcin
ejecutamos la prueba
Inicia depuracin.
Recuerda que el
punto de entrada
es Home/Prueba2
continua ejercitando
Evala los validadores para email,
telfono, fecha, valor mximo y
mnimo.
Los validadores son esenciales en
cualquier formulario, procura
conocer las capacidades de todos.
El Servidor Web
El lenguaje C# y su integracin con la interfaz
Aprendiendo a programar. Captulo 5. Tutorial
objetivo
Utilizaremos otros operadores de C#
Capturaremos informacin de la
pantalla y la enviaremos al
controlador para efectuar acciones.
conceptos previos
Es posible leer datos del una vista
cshtml.
Esta lectura consiste en los siguientes
pasos
1) El usuario tipea una direccin en el
browser (o accede a travs de un link)
a un punto de entrada de un
controlador
pasos para leer los datos de pantalla
2) El controlador recibe el pedido y
retorna (con return view) la vista
correspondiente
3) La vista posee dentro del HTML un
formulario, en blanco o con datos
precargados, adicionalmente tiene un
botn del tipo INPUT TYPE SUBMIT
pasos para leer los datos de pantalla
4) El botn INPUT TYPE SUBMIT tiene
escrito un punto de entrada a un
controlador que es DIFERENTE al
punto de entrada que se uso la
primera vez. Este punto SOLO SE
OCUPA DE LEER LOS DATOS. NADA
MAS
pasos para leer los datos de pantalla
5) El controlador LEE Los datos,
efecta operaciones y devuelve una
respuesta a travs de un return view.
Esta ultima vista solo contiene un
mensaje de resultado.
comencemos
Crea un nuevo
proyecto de tipo
Visual C# Aplicacin web
ASP.NET y utiliza la
plantilla simple
MVC
crea los siguientes secciones
Crea una carpeta dentro de views
llamada Formularios
Crea una vista dentro de Formularios
llamado Contacto
Edita Contacto.cshtml y crea elementos
html como el formulario visto en el
capitulo III, con nombre, apellido y
direccion de email
continua con
Crea un controlador llamado Formas
Dentro de el, crea un punto de entrada
llamado Contacto y retorna la vista
/Views/Formularios/Contacto.cshtml
Prueba la aplicacin y asegrate que que
muestre el formulario.
Recuerda que el punto de entrada es
/Formas/Contacto
Edita formulario .cshtml
Edita el formulario
llamado
contacto.cshtml y
escribe en la
seccin action lo
siguiente
continua con
Vuelve al controlador denominado
Formas y crea otro punto de entrada,
esta vez, para recibir los datos del
formulario.
Denomnalo GuardarContacto.
El cdigo del controlador debera quedar
algo parecido a la siguente imagen
por ultimo, y como dice el controlador
Crea una vista, en la carpeta Formularios
Que se llame ContactoRespuesta
La vista espera datos desde el
controlador, que los enva a travs de
la ViewBag
Crea y edita el formulario
ContactoRespuesta.cshtml
Debera quedar
algo parecido a
esto
ejecuta la aplicacin
Prueba el circuito.
Inicia desde
/Forma/Contacto
Y verifica como
funciona cuando
haces click en
Enviar
si lo probaste con xito, notars una pequea falla
El correo electrnico (email), estaba
compuesto en un mensaje, sin embargo,
no aparece.
Esto se debe en que hay una diferencia
entre el nombre del parmetro en el
controlador y lo que se enva del
formulario.
Intenta corregirlo
continua ejercitando
Agrega validadores con Jquery Validator
al formulario, para evitar que enves
datos vacos.
Agrega una pagina de inicio a la
aplicacin (la que quieras) con una serie
de botones que te enven al formulario
de contacto sin necesidad de tipear la
ruta en la barra de direcciones
Otro ejercicio
En el mismo proyecto, crea una vista en
la carpeta formularios que reciba dos
numeros.
La estructura es similar al formulario
anterior, pero solo con dos campos.
Incluye el botn enviar
En el valor action del formulario coloca
Formas/Sumar, este metodo calcular la
suma
Otro ejercicio
En el controlador Forma crea un punto de
entrada que se llame Formulario, que
devuelva la vista recin creada (con el
nombre que hayas elegido)
Crea otro punto de entrada llamado
Sumar, que reciba como parmetro
ambos numeros.
Otro ejercicio
Suma ambos nmeros (truco, si te falla la
suma, intenta que los parmetros en vez
de ser de tipo string, que sean de tipo
int)
Devuelve el resultado de los numeros en
una vista que se llame resultadodelasuma
sigue explorando
En la medida que puedas explora con
ms detalles el lenguaje C# para ver
que se puede hacer.
Operaciones ms complejas,
repeticiones y otras tantas
operaciones.
sigue explorando
Utiliza el esquema de vistas y
controladores para poder mostrar en
pantalla el resultado o para solicitarle
datos al usuario.
El lenguaje C#
Aspectos bsicos del lenguaje
Aprendiendo a programar. Captulo 6. Tutorial
objetivo
Profundizaremos en el lenguaje C#
Identificaremos los componentes y
efectuaremos las primeras
codificaciones
conceptos previos
C# es el lenguaje del servidor.
Este se usa para tomar decisiones
complejas que involucran a todos los
usuarios del sistema.
Es, por ejemplo, quien toma la
decisin de qu pgina se presenta, y
condiciona sus resultados.
Ya estuviste trabajando con C#,
sin darte cuenta
Cada vez que
creabas un punto
de entrada en el
CONTROLADOR,
estabas
escribiendo
cdigo en C#
algunas consideraciones
En el servidor el cdigo de nuestro
programa se almacena en lo que se
llaman Clases, que por lo general, estn
dentro de un archivo de extensin cs.
Las clases son de diferente tipo, segn el
tipo, las cosas que puede hacer.
Hasta ahora hemos conocido las clases
de tipo Controller
Entendiendo las partes
Los bloques de
cdigo se encierran
entre { }
En este ejemplo
tenemos la clase
pblica (public class)
HomeController de
tipo Controller
Entendiendo las partes
El controlador posee
mtodos (lo que para
el controlador son los
puntos de entrada)
Los mtodos tienen
diferentes tipos, en
este caso son de tipo
ActionResult
tambin puedes devolver otras cosas
En este caso hemos
creado un punto de
entrada que devuelve
solo texto.
Para probarlo, ejecuta
la aplicacin y coloca
en el browser /Home/
OtroPuntoDeEntrada
comencemos con la ejercitacin
Evaluaremos parmetros y
tomaremos decisiones
Los puntos de entrada tambin
pueden recibir parmetros
Es posible agregar
valores al punto de
entrada ( o a
cualquier funcin de
c#), estos valores se
llaman parmetros
utilizando la instruccin IF (SI) para tomar una decisin
En C# podemos usar la instruccin
IF para tomar una decisin.
La forma general es
if ( .algo ) {
si es que si
} else {
. si es que no
}
as quedara una evaluacin
Recibimos un valor
y en funcin de ese
valor mostramos una
u otra pgina
probemos la pagina
Ve al men
depurar y elige
INICIAR
DEPURACION o
presiona F5
una vez que haya iniciado la pgina
Escribimos la direccin de la pgina,
pero esta vez le agregamos los
parmetros
/Home/Prueba1?idioma=ingles&colo
r=rojo
presta atencin a los detalles
El primer
parmetro va
separado por ?
Los siguientes
parmetros
siempre separados
por &
modifica los parmetros y
el resultado vara
Intercambia en
donde dice
idioma, entre el
valor ingles y
espaol, el
resultado sern
distintas pginas
ejercita
Crea una nueva aplicacin de cero
Del tipo Visual C# - Aplicacin Web
MVC
Crea una carpeta dentro de VIEWS
llamada IDIOMAS y crea 2 vistas
bienvenida_espanol
bienvenida_ingles
ejercita
Edita cada una de las VISTAS y coloca
un texto de bienvenida en el idioma
correspondiente.
Crea un punto de entrada en el
controlador HomeController.cs
Coloca un parmetro al punto de
entrada llamado idioma
ejercita
Segn el idioma, coloca una
sentencia de tipo IF para decidir si
muestras la bienvenida en uno u otro
idioma
crea tu propio controlador
Hasta ahora, hemos utilizado los
controladores existentes en el
proyecto.
Tu puedes crear un Controlador
Propio para manejar el conjunto de
VISTAS que necesites
sobre la carpeta Controllers
Haz click derecho,
agregar nuevo
controlador
Elige controlador en
blanco
Coloca el nombre
Generales (el subfijo
controller lo agrega
solo)
crea un punto de entrada y prubalo
Crea un nuevo punto
de entrada llamado
Principal
Haz el return view a
alguna pgina de tu
proyecto. Prueba en el
browser con
/Generales/Principal
usa tus propios controladores
De ahora en ms, si el conjunto de
pginas que creas son para algo en
particular, crea tu propio controlador.
Puedes ingresar a un grupo de
pginas desde el mismo controlador
usando diferentes puntos de entrada.
enviando parmetros a la vista
Otras de las funciones del
controlador, es enviarle datos a la
vista para que ciertos valores de las
secciones sean dinmicas
Para esto utiliza la bolsa de datos
ViewBag
un ejemplo de envo de datos
Enva a la bolsa de
datos un titulo y un
subtitulo.
Escrbelo en el
controlador como
indica la imagen
edita la vista principal.chtml
Edita la pgina y
modifica el titulo
contenido en h2 y
reemplazalo por la
forma
@ViewBag.<nombre>
ejecuta la aplicacin
Deberas obtener
como resultado
que la pgina
muestra en su
titulo lo que le
hayas indicado en
el controlador
para que sirve enviar los datos desde controlador?
Podras usar una sentencia if para
escribir uno u otro texto de
bienvenida, o para que una misma
vista se llene con diferentes datos,
dependiendo de la evaluacin que se
efecte.
haz la siguiente prueba y evala el resultado
Escribe en el controlador lo siguiente
if (idioma == "ingles") {
ViewBag.untitulo = "Welcome";
} else {
ViewBag.untitulo = "Bienvenido";
}
agrega parmetros al punto de entrada
Como hicimos anteriormente, agrega
el parmetro idioma como uno de los
parmetros del punto de entrada.
Ejecuta la aplicacin.
Como resultado el ttulo debera
variar segn el idioma
sigue explorando
Usa el buscador web con las claves
c# lenguaje sentencias bsicas
Investiga ms caractersticas del
lenguaje C#, si deseas probarlas,
puedes escribirlas en el controlador.
El Servidor Web
Conceptos Avanzados
Uso del Framework Microsoft .NET
Aprendiendo a Programar. Captulo 7. Tutorial
objetivo
Utilizaremos funciones del framework
de .NET para enviar correos
Ejercitamos sobre diferentes
caractersticas del mismo.
conceptos previos para enviar un correo
Antes que nada debemos aclarar una
obviedad.
Podemos enviar un correo desde
nuestra aplicacin, siempre y cuando
tengamos acceso a un Servidor De
Correo.
Por lo general tenemos acceso a uno,
el que usa nuestra cuenta de correo
conceptos previos para enviar un correo
Para identificar el servidor, debemos
saber el nombre del SMTP
Coloca en el buscador web las
siguientes claves
SMTP Live Hotmail Configuration
Si tienes otro correo que no sea Live
Hotmail reemplaza el nombre que
corresponda
Lo que estamos buscando
La configuracin que estamos
buscando es
SMTP address server
SMTP username
STMP port
STMP TLS/SSL:
Para live hotmail la configuracion es
Si tienes una cuenta live, estos seran
los valores
SMTP address server: smtp.live.com
SMTP username:
[email protected]STMP port: 587
STMP TLS/SSL: si
comencemos
Crea un nuevo
proyecto de tipo
Visual C# Aplicacin web
ASP.NET y utiliza la
plantilla simple
MVC
crea los siguientes secciones
Crea una carpeta dentro de views
llamada Formularios
Crea una vista dentro de Formularios
llamado Contacto
Edita Contacto.cshtml y crea elementos
html como el formulario visto en el
capitulo III, con nombre, apellido y
direccion de email
continua con
Crea un controlador llamado Formas
Dentro de el, crea un punto de entrada
llamado Contacto y retorna la vista
/Views/Formularios/Contacto.cshtml
Prueba la aplicacin y asegrate que que
muestre el formulario.
Recuerda que el punto de entrada es
/Formas/Contacto
Edita formulario .cshtml
Edita el formulario
llamado
contacto.cshtml y
escribe en la
seccin action lo
siguiente
continua con
Vuelve al controlador denominado
Formas y crea otro punto de entrada,
esta vez, para recibir los datos del
formulario.
Denomnalo GuardarContacto.
Hasta aqu el ejercicio es el mismo que
en el captulo anterior
Vamos a enviar un correo
Para esto, escribimos la funcin de envio
de correo en el mtodo GuardarContacto
Utilizamos la funcin de envio de mail
provista en el framework de .NET, solo
tenemos que tener presente los
parmetros que buscamos con
anterioridad
por ultimo, y como dice el controlador
Crea una vista, en la carpeta Formularios
Que se llame ContactoRespuesta
Informa en esta vista que haz enviado un
correo.
Podras en el mtodo mensaje.To.Add,
agregar a ms de un destinatario al
mismo tiempo del mismo correo.
ejecuta la aplicacin
Prueba el circuito.
Inicia desde
/Forma/Contacto
Y verifica como
funciona cuando
haces click en
Enviar
continua ejercitando
Agrega validadores con Jquery Validator
al formulario, para evitar que enves
datos vacos.
El ms importante, la direccin de mail
no debera estar vaca
Otro ejercicio
En el mismo proyecto, crea una vista en
la carpeta formularios que reciba dos
nmeros.
La estructura es similar al formulario
anterior, pero solo con dos campos.
Incluye el botn enviar
En el valor action del formulario coloca
Formas/Raices, este mtodo calcular la
raz cuadrada de cada nmero
Otro ejercicio
Para esto utilizaremos otra funcin del
Framework .NET, la clase MATH, que
posee un sinfn de operaciones
matemticas
En el caso de la raz cuadrada el mtodo
es Math.Sqrt( tu numero )
Devuelve el resultado en una vista
sigue explorando
En la medida que puedas explora con
ms detalles el framework .NET
La clase System.Math te permite
efectuar calculos matemticos
avanzados de geometra (muy til
para 3D).
sigue explorando
La clase System.Text te permite
manipular textos
La clase System.Web.Sockets te
permite comunicaciones en dos vas,
ideal para transferir datos entre
dispositivos va web, ideal para
juegos en tiempo real.
sigue explorando
Si quieres usar los puertos serie o usb
lo puedes hacer desde la clase
System.IO (aunque no es un tipo de
aplicacin Web), con lo cual podras
controlar maquinaria y motores
(robtica)
sigue explorando
Al punto que te encuentras, puedes
utilizar el controlador para codificar
lo que precises e ir descubriendo
caractersticas del lenguaje.
Anmate a probar y no te preocupes
por equivocarte, no hay riesgo que se
rompa nada.
Dnde y cmo
se guardan los datos
Creacin de tablas y consultas
Aprendiendo a Programar. Captulo 8. Tutorial
objetivo
Exploraremos las herramientas
de creacin de tablas y edicin de
tablas y ejecutaremos consultas
bsicas
conceptos previos
En el captulo terico observamos
que los datos se estructuran en tablas
y campos.
Asimismo, una vez creadas y con
datos, se pueden ejecutar consultas
segn diferentes criterios
conceptos previos
Para esto, es necesario tener
instalado un SERVIDOR DE BASE DE
DATOS.
Al momento de instalar Visual Studio,
se nos provee en la instalacin de un
Servidor de Base de Datos (RDBM)
llamado SQL Server Express
conceptos previos
El Servidor de Base de Datos es un
programa que se ejecuta en una
mquina (por lo general encendida
todo el tiempo) al cual todas las
aplicaciones de una red (clientes)
pueden enviarle consultas, insertar y
modificar datos.
conceptos previos
En una entorno de trabajo real y en
produccin este Servidor por lo
general se encuentra en una
computadora separada
En nuestro ambiente de desarrollo, se
encuentra instalada en nuestra
computadora.
comencemos
Abre un proyecto
existente o crea
uno nuevo
ubica el explorador de objetos
Selecciona el
men ver,
explorador de
objetos de SQL
Server.
Expande el rbol
conceptos previos
Si por alguna razn no aparece el
rbol indicado, es posible que no
tengas correctamente instalado SQL
Server Express
Intenta buscar las siguientes claves
en el buscador de internet
Install SQL Server Express Edition
Visual Studio
crea una nueva base de datos
Existen algunas bases de datos
previamente creadas de uso de interno
del sistema.
Crearemos una nueva base de datos para
este proyecto, la misma podr ser
utilizada en otras aplicaciones web que
desarrollemos ms adelante.
sobre la carpeta Base de Datos
Click derecho,
agrega una nueva
base de datos.
Colcale un
nombre, por
ejemplo
proyecto
hemos creado la base de datos
proyecto
Expande las carpetas
de la base de datos
proyecto
recientemente
creada.
Observa que an no
hay Tablas creadas
agrega una tabla
Haz click derecho
sobre la carpeta
Tablas, crear nueva
Tabla.
Aparecer el
siguiente formulario
para que definas los
campos
la base de datos y la nueva tabla (an sin nombre)
est lista para definirle los campos
Utilizaremos el formulario para definir
cada uno de los campos.
Por cada campo se debe indicar el
nombre, el tipo de dato, y si permite
valores nulos (en blanco o no)
define la estructura de campos para la tabla Contactos
Para la tabla Contactos crearemos los
siguientes campos
Id, tipo int, no permitir nulos
Apellido, tipo varchar, permitir nulos
Nombre, tipo varchar, permitir nulos
Correo, tipo varchar, permitir nulos
debera quedar algo parecido a esto
Observa que los tipos
de datos varchar
poseen un nmero
entre parntesis.
Es la cantidad mxima
de caracteres para ese
dato
define la clave primaria
Recuerda que todas las tablas deberan
poseer una clave nica de identificacin
Para hacer ms eficientes las consultas.
La Primary Key, por lo general es un tipo
de dato int, llamado Id.
define la clave primaria
Haz click derecho
sobre el campo Id, y
coloca la opcin
Establecer clave
principal.
Aparecer una llave
para indicarlo.
ya est casi lista
La tabla est casi lista para ser utilizada.
Para esto, haz click en el botn guardar,
te preguntar el nombre de la tabla
Gurdala con el nombre Contactos
Una vez creada y guardada, insertaremos
un conjunto de datos de prueba
ingresando datos de prueba,
opcin ver datos
En el explorador de
objetos de SQL, ubica la
base proyectos, carpeta
tablas, aparece nuestra
tabla recin creada.
Si no llegara a aparecer,
intenta con la opcin
Actualizar
ingresando datos de prueba
En el formulario Ver
Datos, ingresa datos de
prueba
nuestra tabla est lista para efectuarle consultas
Hemos creado una base de datos y una
nueva tabla. Asimismo hemos ingresado
datos de prueba.
Estos datos quedan almacenados en
forma permanente en nuestra Base de
Datos.
sobre los datos creados efectuaremos consultas
Para efectuar consultas, es necesario abrir
el editor de consultas.
Aqu insertaremos sentencias de lenguaje
de consulta estructurado (Structured
Query Language, o tambin conocido
como SQL)
en el explorador de objetos de sql
Hacemos click derecho
en nuestra base de
datos proyecto y
seleccionamos nueva
consulta
escribimos nuestra primer consulta
SELECT * FROM
CONTACTOS
Luego presionamos la
tecla ejecutar
la primer consulta arroja un resultado
Al ejecutar la consulta SELECT * ,
obtenemos como resultado todos los
registros de nuestra tabla.
En esta interfaz podremos probar
diferentes criterios de consulta sobre los
datos, obteniendo diferentes resultados
ejecuta las siguientes consultas por separado y observa los resultados
a) select * from Contactos
b) select * from Contactos order by
Apellido
c) select * from Contactos where nombre
= Pablo
d) insert into Contactos (A,B,c@b)
e) select * from Contactos
explora ms sobre el lenguaje SQL
Explora algunas variantes de consultas
sobre el lenguaje SQL desde esta interfaz
Ingresa en el buscador WEB
Sentencias bsicas SQL
continua ejercitando
Haz creado la tabla Contactos en la base
de datos proyecto.
Puedes repetir el procedimiento desde el
paso 12-13 para crear nuevas tablas en la
misma base de datos.
continua ejercitando
Crea la tabla Localidades, con los
siguientes campos
Id, int, no permitir nulos, clave primaria
Descripcion, varchar(50), no nulos
Estado, varchar(50) no nulos
continua ejercitando
Guarda la tabla Localidades, ingresa
datos de prueba con
ciudades/localidades de distintos
estados/provincias
Intenta efectuar una consulta SQL que
seleccione todas las localidades de un
mismo estado
Conectando los datos
con la aplicacin
Ejecutar consultas, recuperar y guardar informacin
Aprendiendo a programar. Captulo 9. Tutorial
objetivo
Guardar y/o recuperar informacin
almacenadas en una base de datos
desde nuestra aplicacin.
comencemos
Abra un proyecto
existente, sino,
cree uno nuevo
del tipo Visual C#
- Aplicacin web
ASP.NET y utiliza la
plantilla simple
MVC
Crear o usar una base creada
La primera vez, debemos crear una
estructura de base de datos, con sus
tablas, sus campos y datos de
pruebas.
Crear o usar una base creada
Siguiendo el ejercicio del captulo
anterior crear la tabla Contactos y
Localidades, y cargue datos.
Si se trata del mismo proyecto, omita
este paso. La base de datos ya est
creada
Sobre el formulario de contacto creado en los ejercicios anteriores
Adems de enviar un email, vamos a
proceder a guardar (tambin puede
guardarse sin enviar el correo, para
esto habra que reemplazar el
cdigo)
Los parmetros bsicos para interactuar con una base de datos son
Direccin IP del Servidor de Base de
Datos
Mecanismo de Autenticacin
Credenciales de Autenticacin
Nombre de la Base de Datos
En nuestro caso los parmetros son
Direccin IP: localhost significa que
est instalado en nuestra mquinaMecanismo de autenticacin:
Credenciales de autenticacin: no es
necesario
Nombre de la Base de Datos: en mi
ejemplo, proyecto.
Para conectar los datos con nuestra aplicacin bastan 6 pasos
1)
2)
3)
4)
5)
6)
Crear la conexin
Crear la sentencia
Asociar la sentencia a la conexin
Ejecutar la sentencia
Leer el resultado de la sentencia
Cerrar la conexin
1. Crear la conexin
var connection = new System.Data.SqlClient.SqlConnection();
connection.ConnectionString = "una conexin";
connection.Open();
Donde una conexin se obtiene haciendo click
derecho en el explorador de objetos de sql, a la
derecha de la pantalla.
Para extraer la cadena de conexin
Haga click en el
explorador de
Objectos de SQL.
Elija la Base de
Datos. Click
derecho,
propiedades
Copie la cadena de conexin
Es un texto largo,
algo parecido a esto
Data
Source=(localdb)\Projects;Initia
l Catalog=proyecto;Integrated
Security=True;Connect
Timeout=30;Encrypt=False;Trus
tServerCertificate=False
2. Crear la sentencia
var sentence = new System.Data.SqlClient.SqlCommand();
sentence.CommandType = System.Data.CommandType.Text;
sentence.CommandText = "Insert into Contacto (nombre,apellido,correo),
values (@pnombre, @papellido, @pcorreo)";
sentence.Parameters.Add( new
System.Data.SqlClient.SqlParameter("pnombre", nombre ));
sentence.Parameters.Add( new
System.Data.SqlClient.SqlParameter("papellido", apellido ));
sentence.Parameters.Add( new System.Data.SqlClient.SqlParameter("pcorreo",
correo ));
3. Asociar sentencia a conexion
sentence.Connection = connection;
Es la sentencia menos compleja
4. Ejecutar la sentencia
var result = sentence.ExecuteNonQuery();
5. Leer el resultado de la sentencia
var result = sentence.ExecuteNonQuery();
var mensaje = "";
if (result == 0)
mensaje = "Exitoso!";
else
mensaje = "Fallo";
Segn la sentencia podra entregarse uno u otro
mensaje
6. Cerrar la conexin
connection.Close();
Si no se cierra la conexin, se corre el riesgo de
no poder conectarse ms tarde desde nuestra
aplicacin
continue ejercitando
Investiga las variantes para poder efectuar una
consulta y mostrar los datos.
Ten en cuenta que una vez que obtengas los
datos de la base de datos puedes enviarlos al
controlador utilizando el ViewBag y luego
imprimirlos en la vista
continue ejercitando
Investiga las variantes para borrar un datos.
Usa el buscador web para buscar ejemplos
de escenarios CRUDL (Create Read Update
Delete y List) bajo ASP.NET MVC, intenta
implementarlos.
Coloca las claves CRUDL Asp.NET