Desarrollo de Aplicaciones Web PDF

También podría gustarte

Está en la página 1de 29

Desarrollo de aplicaciones web con asp.

net

DESARROLLO DE APLICACIONES WEB


CON ASP.NET

INTRODUCCIÓN 3
1 El desarrollo de Aplicaciones Web 4
1.1 Arquitectura del Framework de .Net 4
1.2 Aspectos del Framework ASP.Net 4
1.2.1 Características 5
1.3 Creación de una aplicación Web con AspNet 9
1.3.1 Controles en Asp Net 10
1.3.2 Como agregar un control Web a un Web Forms 13
1.3.3 Propiedades y eventos de un control 13
1.3.4 Conversión de tipos de datos 14
1.4 ADO.NET 15
2 Desarrollo de una aplicación Web bajo una Arquitectura 3 capas
(Patrón Vista controlador MCV) 16
2.1 Caso de Estudio 16
2.2 Arquitectura de la aplicación 17
2.3 Creación de la Interfaz (Vista) 18
2.4 Creación de la Vista lógica 22
2.4.1 Objetos 22
2.5 Creación de la Vista de Datos 25
GLOSARIO 27
BIBLIOGRAFÍA 28

FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje


Desarrollo de aplicaciones web con asp.net

Mapa Conceptual
Desarrollo de aplicaciones
web con Asp.net

2
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones web con asp.net

DESARROLLO DE APLICACIONES WEB


CON ASP.NET

INTRODUCCIÓN

La dinámica de las organizaciones, el aumento del comercio electrónico y


el desarrollo tecnológico de las comunicaciones, hacen necesario la gene-
ración de aplicaciones que puedan estar funcionando sobre “la nube”.
Estas aplicaciones reciben el nombre genérico de “Aplicaciones Web” y
ofrecen la posibilidad de acceder a los sistemas de Información de una
manera rápida y con un mínimo de recursos para los usuarios de este.

La aplicación sólo debe instalarse en un servidor el cual debe proveer el


servicio, este si requiere unos recursos específicos determinados por el
tipo de tecnología que se utilice para implementarlo, las actualizaciones o
modificaciones sólo se realizaran sobre esta máquina; los usuarios del sis-
tema sólo requerirán de un software que les permita navegar por la red
y pueden estar conectados desde sus computadoras o dispositivos móviles
(dependiendo de la tecnología usada).

Visual Studio .NET, proporciona un lenguaje de programación especial-


mente diseñado para la construcción de aplicaciones web, el cual involucra
la mezcla del lenguaje ASP.NET y el lenguaje C#, así como el uso de
scripts y etiquetas. Con este objeto de aprendizaje le invitamos a introdu-
cirse en el diseño de aplicaciones Web, a través de un recorrido por dife-
rentes conceptos y la integración con el lenguaje C# y una plataforma de
desarrollo estable.

3
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones web con asp.net

1 El desarrollo de Aplicaciones Web

Microsoft Visual Studio .NET es una plataforma que permite ejecutar y


desarrollar aplicaciones, soluciones informáticas y/o sistemas de informa-
ción, brindando todas las herramientas y servicios necesarios para desa-
rrollar modernas aplicaciones empresariales, dentro de una de estas se
encuentran las páginas web; las cuales pueden desarrollarse por medio de
WebForms.

1.1 Arquitectura del Framework de .Net

Los componentes de la arquitectura del framework de .Net se pueden


apreciar en la siguiente figura, donde se puede apreciar la existencia de
una librería de clases denominada ASP.NET, la cual incluye funcionalida-
des para el desarrollo de la aplicación web:

VB C++ C# J# ...
.NET Framework SDK

Common Language Specification

.NET Framework
ASP.NET Windows Forms

Class Library
.NET Framework
Redistributeble

ADO.NET y XML

Base Class Library

Common Language Runtime

Windows COM+ Services

En System.Web: Se encuentran todos los tipos necesarios para programar


aplicaciones y servicios web ASP.NET

1.2 Aspectos del Framework ASP.Net

ASP.NET es un Framework que Microsoft ha desarrollado para el desarrollo


de aplicaciones Web. Es la tecnología necesaria del .NET Framework para
construir aplicaciones con interfaz de usuario Web (es decir, aplicaciones
cuya lógica se encuentra centralizada en uno o varios servidores y que los
clientes pueden acceder usando un browser o navegador mediante una
serie de protocolos y estándares como HTTP y HTML).

4
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones web con asp.net

1.2.1 Características

Las páginas desarrolladas en ASP.NET son conocidas como "Web Forms"


(formularios web), y conforman la mayor parte de los elementos a desa-
rrollar para la construcción de las aplicaciones Web. Los formularios Web
están contenidos en archivos que tienen extensión aspx; los cuales
contienen etiquetas html o xhtml estático; además utiliza controles cuyo
código es procesado por el servidor, otros controles que se denominan
de usuario contendrán el código estático y dinámico para proveer la
funcionalidad requerida por la aplicación.

Las páginas incluyen bloques de etiquetas <% -- código dinámico -- %>


que albergan el código dinámico que se ejecuta en el servidor. Otras
tecnologías de desarrollo web como PHP, JSP y ASP, también manejan el
mismo concepto de etiquetas.

ASP.NET sólo funciona sobre el servidor de Microsoft IIS (Internet Infor-


mation Server), lo cual limita su implementación y lo pone en desventaja
respecto a otros lenguajes como PHP o JSP que tienen diferentes alter-
nativas de servidores web.

1.2.1.1 Formularios Web (Web Forms)

Los formularios Web Forms se crean bajo la opción (WebForms) y tam-


bién con el uso de plantillas (MasterPage) bajo la opción (Formularios
Web Forms que Usan Pagina Maestra).

Bajo cualquiera de estas dos opciones un Formulario Web está compues-


to de:

5
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones web con asp.net

WebForm1.aspx
body

Área para
ingresar
controles

A B C D E

Diseño Dividir Código <html> <body>

En la pestaña A se puede ver el diseño gráfico que la página web


contendrá.
En la pestaña B puede dividir la visualización en código y en diseño.
En la pestaña C puede visualizar el código html de la página.
En la pestaña D y E se encuentra el código html generado una vez se
vayan ingresando controles y código de funcionalidad.
En el área F es el espacio para ingresar los controles web necesarios para
construir la página.

6
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones web con asp.net

1.2.1.2 Formularios Web forms que Usan Página Maestra


(Master Page)

A través de una página maestra se define la estructura de organización del


sitio web, indicando las áreas comunes como la cabecera, la barra de
navegación y su apariencia gráfica en general. Esta será adoptada por las
diferentes páginas del sitio favoreciendo el mantenimiento y disminuyendo
el código asociado a cada página.

Una vez creada la Master Page, se pueden crear los Formularios Web bajo
el utilizando la (Master Page) determinada, las cuales tienen un diseño de
interfaz grafico adecuado para el proyecto a desarrollar, que incluye logos,
fotos, animaciones y demás aspectos que pueden ser llamativos para el
usuario al momento de desarrollar la pagina web.

Una Master Page contiene un tipo especial de control llamado ContentPla-


ceHolder, el cual define la región en donde se reemplazará el contenido de
una página asociada a la maestra.

Creacion de la Master Page: Esta se crea desde la solución de Visual Studio


.Net con la opción Agregar Página Maestra (explicado en el videotutorial).
Tenga en cuenta que para desarrollar interfaces agradables al usuario
debe utilizar aspectos de diseño web grafico, existen algunas plantillas por
defecto que ya usted puede utilizar para adicionar a su página web, en la
lista de referencias encontrará algunas de ellas.

Es de anotar que este objeto no pretende enseñar la construcción de Mas-


terPage, ya que incluye material y contenidos de diseño grafico que el
aprendiz debe tomar por aparte.

La página Maestra por defecto que utiliza Microsoft Visual Studio .Net es la
siguiente:

7
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones web con asp.net

Plantilla por defecto (Modo diseño)

Place Holder: Donde se pueden colocar los


controles para iniciar la codificación de la página

Plantilla por defecto (Modo ejecución)

Plantilla Site.Master

Cuando se crea una plantilla por defecto esta se crea en blanco, de tal
manera que usted debe adicionarle todos los componentes necesarios
para generar su propio diseño.

Creación del Formulario bajo una Master Page

Una vez se ha definido el tipo de plantilla que se va a utilizar se procede


a crear el formulario web que la utilizara, por la opción agregar nuevo ele-
mento y seleccionar Formulario Web que usa página maestra.

8
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones web con asp.net

1.3 Creación de una aplicación Web con AspNet

Al crear un proyecto de aplicación Web, además de generarse automática-


mente un Web Forms por defecto llamado Default.aspx, se crean una serie
de archivos y clases que complementan la aplicación.

Se dispone también de un diseñador de formularios para construir aplica-


ciones web, el formulario HTML deberá contener los controles que deban
procesar del lado del servidor.

Los formularios HTML están delimitados por la etiqueta estándar <form>.


En el caso de ASP.NET, dicha etiqueta debe incluir el atributo
runat="server". Este atributo le indica al servidor web (IIS) que la página
ASP.NET se debe procesar en el servidor antes de enviársela al cliente.

Página por
Plantilla Master Page Área para ingresar defecto
controles web
Cuadro de herramientas Página default
para controles web - por defecto
en vista de diseño

El esqueleto de una página ASP.NET será siempre de la forma:


Indicando que se esta utilizando lenguaje c#

Runat=“Server”, indica que el código


se ejecutará del lado del servidor
Una vez se incluyan controles se generará el código
automáticamente dentro de esta etiqueta
<form> </form>

9
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones web con asp.net

1.3.1 Controles en Asp Net.

La construcción de las interfaces para las páginas Web se realiza a través


de controles predefinidos, los cuales proporcionan un modelo orientado a
objetos y están definidos en la biblioteca de clases .NET.

Estos controles son objetos de páginas web AspNet similares a los


elementos html tales como botones y cuadros de texto, controles de
calendarios, para conectar a orígenes de datos.

Existen tres tipos de controles predefinidos que se pueden utilizar en las


páginas ASP.NET:

- Controles HTML: representan etiquetas HTML tradicionales y funcionan


de forma similar a los objetos utilizados en JavaScript para manipular
dinámicamente el contenido de una página web.

- Controles Web: controles asociados a las etiquetas específicas de


ASP.NET y facilitan el desarrollo de interfaces web utilizando un entorno de
programación visual como Visual Studio .NET.

- Controles de validación: empleados para validar las entradas


introducidas por el usuario de una forma relativamente cómoda (aunque
no siempre resulta la más adecuada desde el punto de vista del diseño de
la interfaz de usuario).

- Controles habilitados con tecnología AJAX: Controlan código de servidor


y de cliente para generar un comportamiento de cliente enriquecido.

10
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones web con asp.net

Controles html

Control HTML Etiqueta HTML Descripción


HtmlAnchor <a> Enlace
HtmlButton <button> Botón
HtmlForm <form> Formulario
HtmlGenericControl Cualquier elemento HTML
para el cual no existe un
control HTML especifico
HtmlImage <image> Imagen
Htmllnput... <input type="..."> Distintos tipos de entradas
en un formulario HTML:
botones (button, submit y
reset), texto (text y password),
opciones (checkbox y radio),
imágenes (image), ficheros
(file) y entradas ocultas
(hidden).
HtmlSelect <select> Lista de opciones
en un formulario
HtmlTable... <table> <tr> <td> Tablas, filas y celdas
HtmlTextArea <textarea> Texto en un formulario

11
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones web con asp.net

Controles AspNet.
Control HTML Descripción
AdRotator Muestra una secuencia de imágenes (a modo de banner)
Button Botón estandar
Calendar Calendario mensual
CheckBoxList Grupo de cajas de comprobación
DataGrid Rejilla de datos
DataList Muestra una lista utilizando plantillas (templates)
DropDownLi st Lista desplegable
HyperLink Enlace
Image Imagen
ImageButton Botón dibujado con una imagen
Label Etiqueta de texto estático
LinkButton Botón con forma de enlace
ListBox Lista (como en los formularios Windows)
Literal Texto estático (similar a Label)
Panel Contenedor en el que se pueden colocar otros controles
PlaceHolder Reserva espacio para controles añadidos dinámicamente
RadioButton Botón de radio (como en los formularios Windows)
RadioButtonList Grupo de botones de radio
Repeater Permite mostrar listas de controles
Table Tabla
TextBox Caja de edición

Controles de Validación

Control HTML Descripción


Control de validación Descripción
CompareValidator Compara el valor de una entrada con el de otra o un valor fijo.
CustomValidator Permite implementar un método cualquiera que maneje la
validación del valor introducido.
RangeValidator Comprueba que la entrada este entre dos valores dados.
RegularExpressionValidator Valida el valor de acuerdo a un patrón establecido como una
expresión regular.
RequiredFieldValidator Hace que un valor de entrada sea obligatorio.

12
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones web con asp.net

1.3.2 Como agregar un control Web a un Web Forms

Para poder agregar un control a un formulario web, debe tener un


formulario web abierto y estar seleccionado en la pestaña Diseño. Ubicar
el Cuadro de Herramientas, hacer clic en el control que desea agregar
y arrastrarlo hasta el formulario.

En esta imagen se puede visualizar como se han creado múltiples


controles dentro de ellos se encuentra los labels (label) y las cajas de
texto (TextBox).

1.3.3 Propiedades y eventos de un control

Todos los controles mencionados anteriormente tienen asociado


propiedades y eventos.

Propiedades: son las características que tiene cada control, y dentro del
entorno de Visual Studio están ubicadas en la barra de herramientas
llamada Propiedades o con acceso rápido seleccionando el control y
presionando F4.

Las propiedades más utilizadas para cada control son:

13
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones web con asp.net

Las propiedades más utilizadas para cada control son:

Cuadro de
herramientas

Propiedades

Página web
Tres controles,
Caja, texto, botón y label

Eventos: Los eventos son las acciones que se quiere indicar al control
que debe realizar, cada control proporciona múltiples eventos, el más
utilizado es el evento OnClic, el cual se dispara o se genera haciendo doble
clic sobre el control, y disparar este evento significa: “Que realizará la
aplicación cuando el usuario presione ese control?”.

1.3.4 Conversión de tipos de datos

En muchas ocasiones es necesario hacer una conversión del tipo de dato,


ya que algunas propiedades establecidas por Visula Studio. Net ya tiene
predefinido el tipo de dato con el que necesitan operar.

Por ejemplo: la propiedad Text, que la tienen la mayoría de los controles,


está definida para operar con tipos de datos String, por tal motivo siempre
que se necesite utilizar esta propiedad siempre se deben utilizar tipos de
datos string.

14
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones web con asp.net

Conversion Ejemplo
ToString(): Método que permite convertir (txtedad.Text).ToString()
cualquier tipo de dato a string.

Int.Parse(): Método que permite convertir int.Parse(txtedad.Text);


cualquier tipo de dato a entero.

Foat.Parse(): Método que permite convertir float.Parse(txtedad.Text);


cualquier tipo de dato a flotante (real).

1.4 ADO.NET

El conjunto de componentes del software que son utilizados para acceder


a los datos que almacena un Sistema Gestor de Bases de Datos
Relacionales se denomina ADO.NET. Es una parte de la biblioteca de
clases base que están incluidas en el Microsoft .NET Framework y contiene
los diferentes tipos de objetos que permitirán acceder a la base de datos
y realizar las operaciones sobre los datos, la referencia a los objetos que
contiene se estableció en el objeto de creación de aplicaciones de
escritorio usando C#.

La arquitectura de ADO. Net esta descrita en la siguiente gráfica,


denotando la misma funcionalidad y la inclusión de algunos controles de
datos con el enfoque Web.

Arquitectura de ADO.NET

.NET Framework Data Provider DataSet

Connection Connection DataTableCollection


Transaction SelectCommand DataTable
DataRowCollection
InsertCommand
Command
DataColumnCollection
Parameters UpdateCommand
ConstraintCollection
DeleteCommand
DataReader

DataRelationCollection

Database XML

15
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones web con asp.net

2. Desarrollo de una aplicación Web bajo una


Arquitectura 3 capas (Patrón Vista controlador MCV)

Recuerde que esta arquitectura tiene muy bien diferenciadas 3 vistas del
sistema a construir las cuales son: Vista Interfaz (GUI), Vista Logiga,
Vista de Datos, como puede visualizar en la siguiente imagen. Todas se
conectan entre si dentro del desarrollo de un sistema de informacion para
dar respuesta a las necesidades del cliente.

En la siguiente imagen se puede visualizar como la solucion creada en


Visual Studio .Net esta dividida en Logica, Vista y Acceso a Datos.

La aplicación Web se construirá basad bajo el siguiente caso de Estudio:

2.1 Caso de Estudio

Se necesita desarrollar una aplicación Web que permita gestionar la


información de proyectos de investigación que tiene el grupo de
investigación InnovaCTPI de la Regional Cauca, el sistema cumple con las
siguientes funcionalidades:

Gestión de Proyectos: Inserción, consulta, modificación y eliminación


de la información perteneciente a un proyecto tal como : código del
proyecto, estado, sector donde aplica el proyecto, área específica, nombre
proyección, descripción, logros, fecha de inicio, fecha de fin.

Objetivos del proyecto: Cada que se cree un proyecto se le debe


asociar un objetivo general y un objetivo especifico, de tal manera que se
pueda insertar, consultar, modificar y eliminar los objetivos.

Gestión del equipo de trabajo: A cada proyecto se le debe asociar un


equipo de trabajo donde se pueda permitir la Inserción, consulta,
modificación y eliminación del equipo de trabajo del proyecto que se está
creando, tal como: nombre, apellido, dirección, teléfono, correo y cargo
de las personas asociadas al proyecto.

16
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones web con asp.net

2.2 Arquitectura de la aplicación

La arquitectura de la aplicación está diseñada en 3 capas bajo la siguiente


figura:

BBDD

Vista: Se encuentra los Formularios Web llamados BuscarProyecto.aspx,


Proyecto.aspx, WebFormEquipoTrabajo.aspx, WebformObjetivos.aspx,
WebFormPersona.aspx, los cuales permiten gestionar las operaciones
CRUD (Insertar, eliminar, buscar y actualizar) de proyectos, equipos de
trabajo, objetivos y personas.

Lógica: Se encuentran todas las clases necesarias para desarrollar la


lógica del programa, dentro de las cuales están: (AreaEspecifica.cs,
AreaMacro.cs, Cargo.cs, Estado.cs, GrupoTrabajo.cs, Objetivos.cs,
Persona.cs, Pryectos.cs, Sector.cs).

Acceso a Datos: Se encuentra la clase de persistencia que almacena


todas las funciones necesarias para conectarse a la base de datos, cabe
destacar que esta clase está desarrollada sobre un Servicio Web.

17
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones web con asp.net

2.3 Creación de la Interfaz (Vista)

Gestionar Proyectos: este formulario web contiene todos los aspectos


necesarios para la funcionalidad de los CRUD (inserción, modificación,
eliminación y búsqueda) de un proyecto. La interfaz esta diseñada de la
siguiente manera.

Gestión de Proyectos del C.T.P.I.

Ficha Persona Proyecto Reporte

A Digite Datos del Proyecto


Fecha Elaboración: 08/11/2013
H
Código del
Proyecto
Nombre del
Proyecto
Area Macro CTPI:
Area Específica: D
Fecha Inicio:

Fecha Fin:

Descripción:
B
Clasificación:

Estado:
C

Logros Alcanzados:

Proyección:

Sector:
F
Gestión
F G

La interfaz es creada sobre un Web Forms, y utiliza los controles:

Panel: Control utilizado para agrupar los datos del proyecto es identifica-
do en la imagen por la letra A.

Label: Control utilizado para los títulos de las atributos identificado en la


imagen por la letra B

18
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones web con asp.net

TextBox: control utilizado para almacenar los datos de código, nombre,


fecha de inicio, fecha de fin, descripción, estado, logros alcanzados y
sector identificado por la letra C.

DropDownList: control utilizado para desplegar los datos de área, área


específica, sector; identificado en la imagen por la letra D
Image Button: control utilizado para realizar las operación Crud por
medio de los botones de Insertar (E), Editar (F), Eliminar (G), y Buscar
(H). los datos de las partes

Eventos clic del Boton Insertar (E)


Anexado en insertar.txt

Evento clic del Boton Editar (F)


Anexado en Actualizar.txt

Evento clic del Botón Eliminar (G)

///<sumary>
///Eliminar-un-proyecto
///</summary >
public void WebcontrolCrud_Eliminar() {
try
{
if (pro.EliminarProyecto(int.Parse(txtcodigo.Text)))
{
limpiar();
LblMensaje.Text="Proyecto Eliminado";
}
else
{
LblMensaje.Text=“Proyecto No Eliminado";
}
}
catch
{
limpiar();
LblMensaje.Text= "El proyecto no puede ser eliminado";
}
}

19
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones web con asp.net

Objetivos del proyecto

ContentPlaceHolder1(Personalizado)

Objetivos Proyecto
Codigo Proyecto: A
Adicionar Objetivo General

Objetivo General
D
Objetivos
B Especificos
DataBound
DataBound
Adicionar Objetivos Especificos DataBound
Objetivo Especifico: DataBound
DataBound
C 12

[LblMensaje]

La interfaz es creada sobre Web Forms y utiliza los controles:

Text Box: Control utilizado para cargar el código del proyecto indicado
por la letra A en la imagen.

Imagen Button: Control utilizado para agregar un objetivo General indi-


cado por la letra B en la imagen.

Imagen Button: control utilizado para agregar los objetivos específicos


indicado po la letra C.

Grid View: control utilizado para desplegar los objetivos del proyecto
indicado por la letra D.

20
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones web con asp.net

Insertar Objetivos
Anexado en el InsertarObjetivos.txt

Insertar Objetivos Específicos.

Mostrar Objetivos Específicos

protected void btnEspecificos_Click(object sender, ImageClickEventArgs e)


{
if (obj.InsertarObjetivo (int.Parse(txtcodigoproyecto.Text), txtEspecifico.Text, " Especifico”
{

LbMensaj.Text = “Objetivo Especifico Agregado” ;

txtGeneral.Enable = false ;
LblEspecifico.Visible = true ;
txtEspecifico.Visible = true ;
btnEspecificos.Visible = true ;
btnGenerales.Enable = false ;
}
mostrarespecificos();
}

Mostrar los objetivos en la grilla

public void mostrarespecificos() {


DataSet res = new DataSet();
res = obj.MostrarEspecificos(int.Parse(txtcodigoproyecto.Text));
GridObjetivos.DataSource = res;
GridObjetivos.DataBind();
txtEspecifico.Text = “”;|
}

21
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones web con asp.net

2.4 Creación de la Vista lógica

En la vista lógica se encuentran todas las clases identificadas en el análisis


para poder implementar el sistema de información, para crear esta vista
se debe crear sobre la solución de visual Studio .Net una librería de clases
y dentro de ella cada una de las clases necesarias.

2.4.1 Objetos

Una vez creada la clase, junto con los métodos y/o propiedades y
atributos se procede a crear y declarar los objetos (similar a la creación
de aplicaciones Windows forms).

Un objeto se declara de la siguiente forma:

NombreClase nombredelobjeto;

Métodos para la clase Proyecto

Insertar un proyecto

ServicioBDSoapClient objServicioBD = new ServicioBDSoapClient();


ServicioBD objServicioBD = new ServicioBD();
public bool InsertarProyecto
(int estaid, int tipoid, int sectid, int areaespid, String proynoabre,
String proyproyetcion, String proydescripcion, String proylogros, String proyfechaelabora,
String proyfechainicio, String proyfechafin)
{
string strinsert = “INSERT INTO Proyecto values (“ + estaid + “,” + tipoid + “,” + sectid +
“,” +areaespid + “, ‘” + proynonbre + “‘ , ‘“ + proyproyeccion + “’ , ‘“
+ proydescripcion + “‘ , ‘” + proylogros + “‘, ’” + proyfechaelabora
+ “‘ ,convert(datetime, ‘“ + proyfechainicio + “‘,102)convert(datetime,’” + proyfechafin
+ “‘102))”;
return objServicioBD.ejecutarDML(strinsert);
}

22
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones web con asp.net

Editar un proyecto

public bool ActualizarProyecto


(int proy_codigo,int estaid, int tipoid, int sectid, int areaespid, String proynombre,
String proyproyeccion, String proydescripcion, String proylogros, String proyfechaelabora,
String proyfechainicio, String proyfechafin)
{
string StrActualizar;
StrActualizar = "UPDATE Proyecto " +
"SET ESTA_ID="+ estaid + ", tipo_id = " +
tipoid + ", sect_id = " + areaespid +
" , proy_nombre = '"+proynombre + "', proy_proyeccion = ' "+proyproyeccion +"',
proy_descripcion = '"+
proydescripcion +"', proy_logros = ' "+ proylogros +"' WHERE proy_codigo = " +
proy_codigo ;
return objServicioBD.ejecutarDML(StrActualizar);
}

Eliminar un proyecto

public bool EliminarProyecto(int codigo)


{
string cadenaEliminar = " DELETE FROM Proyecto WHERE proy_codigo=" + codigo;
return objServicioBD.ejecutarDML(cadenaEliminar);
}

Buscar un proyecto, con filtro (utilizando like)

public DataSet BuscarFiltro(string nombre)


{
string micadena = "select *" +
"from PROYECTO " +
"Where PROY_NOMBRE LIKE '"+ nombre +”%’”;
return objServicioBD.EjecutarConsulta(micadena);
}

23
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones web con asp.net

Métodos para la clase Proyecto

Insertar Objetivo
public bool InsertarObjetivo(int proycodigo, string descripcion, string tipo)
{
string strinsert = "INSERT INTO Objetivos values (" + proycodigo + ",'" +descripcion +"', '"+
tipo+"')";
return objServicioBD.ejecutarDML(strinsert);
}

Mostrar Objetivos Específicos


public DataSet MostrarEspecificos(int codigo) {
string cadena = " select obj_descripcion, OBl_ID" +
" from objetivos, proyecto " +
" where proyecto.proy_codigo = objetivos.proy_codigo" +
" and obj_tipo = 'Especifico'" +
" and objetivos.proy_codigo =“ + codigo;
return objServicioBD.EjecutarConsulta(cadena);
}

Mostrar objetivos Generales


public DataSet MostrarGenerales(int codigo)
{
string cadena = “ select obj_descripcion, OBJ_ID" +
" from objetivos, proyecto " +
" where proyecto.proy_codigo = objetivos.proy_codigo " +
" and obj_tipo = 'General'" +
" and objetivos.proy_codigo = " + codigo;
return objServicioBD.EjecutarConsulta(cadena);
}

Eliminar objetivo
public bool-EliminarObjetivo(int codigo)
{
string cadenaEliminar = " DELETE-FROM-objetivos WHERE OB3_ID=" + codigo;
return objServicioBD.ejecutarDML(cadenaEliminar);
}

24
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
25
2.5

de datos.
OBJETIVOS
OBJ_ID
PROY_CODIGO
ESTADO OBJ_DESCRIPCION CARGO
ESTA_ID OBJ_TIPO CARGO_CODIGO
ESTA_DESCRIPCION CARGO_DESCRIPCION
{}
{}

{}{}
AREAESPECIFICA {}
AREAESP_ID {}

AREA_ID
AREAESPECIFICA EQUIPOTRABAJO PERSONA
TIPO_ID
AREAESP_ID EQUIPO_CODIGO_ID PERSO_CODIGO
SECT_ID
AREA_ID PROY_CODIGO PERSO_NOMBRE
{}{} AREAESP_ID {}{} }{}{
AREAESP_NOMBRE PERSO_CODIGO PERSO_APELLIDO
Creación de la Vista de Datos

PROY_NOMBRE
CARGO_CODIGO PERSO_DIRECCION
PROY_PROYECCION
{} PERSO_TELEFONO
{} PROY_DESCRIPCION
PERSO_CORREO
PROY_LOGROS
PROY_FECHAELABORA
AREA SECTORES
PROY_FECHAINI
AREA_ID
SECT_ID
PROY_FECHAFIN
AREA_NOMBRE
}{}{ SECT_NOMBRE
SECT_DESCRIPCION

FAVA - Formación en Ambientes Virtuales de Aprendizaje


Desarrollo de aplicaciones web con asp.net

Para la vista de datos, se tiene el siguiente modelo relacional de la base

SENA - Servicio Nacional de Aprendizaje


Desarrollo de aplicaciones web con asp.net

Clase para la lógica de la base de datos

class BaseDatos
{
public DataSet EjecutarConsulta(string sql, string nombretabla){
string cadenaconexion= "Data Source=sap-PC;Initial Catalog=BdInv;Integrated Security=True";

SqlConnection conexion = new SqlConnection(cadenaconexion);


DataSet datos = new DataSet();
SqlDataAdapter miadaptador = new SqlDataAdapte(sql, conexion);
miadaptador.Fill(datos,nombretabla);
return datos;
}
public bool ejecutarDML(string DML){
string cadenaconexion = "Data Source=sap-PC;Initial Catalog=BdInv;Integrated Security=True";
SqlConnection conexion = new SqlConnection(cadenaconexion);
conexion.OpenQ;
SqlCommand comando = new SqlCommand(DML, conexion);
if (comando.ExecuteNonQuery() > 0)
return true;
else
return false;
}
}

Esta clase contiene dos métodos:

En 1 se establece la conexión con la base de datos, e incluye: en 2 se


establece el servidor y en 3 se establece el nombre de la base de datos.

En 4 todo lo necesario para que Visual.Net y Sql Server ejecuten las


operaciones de sql.

El método EjecutarConsulta permite ejecutar una sentencia Select.

El método EjecutarDML: permite ejecutar cualquier sentencia Insert,


Update o Delete.}

Nota: el código fuente del ejercicio completo se encuentra anexado.

26
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones web con asp.net

GLOSARIO

ASP.NET: Framework que Microsoft proporciona con funcionalidades para


el desarrollo de aplicaciones Web.

MASTER PAGES: Definen la estructura de organización de la página en


zonas y los elementos comunes a los formularios que integran un sitio web

SYSTEM.WEB: Namespace donde se encuentra todos los objetos necesa-


rios para programar aplicaciones y servicios web ASP.NET

WEB FORMS: Las páginas desarrolladas en ASP.NET son conocidas como,


son el principal medio de construcción para el desarrollo de aplicaciones
Web.

27
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones web con asp.net

BIBLIOGRAFÍA

• Microsoft. MSDN. 2013. Portal de ASP.NET, disponible en:


http://msdn.microsoft.com/es-es/library/bb400852(v=vs.100).aspx

• Giardina, Fernando. (2011) ASP.NET Guía de desarrollo de sitios


y aplicaciones web dinámicas Editorial Maestros del Web.

• Es-Asp.net. Creación de un Diseño Mediante Master Pages.


Consultada en octubre de 2013 y disponible en
http://www.es-asp.net/tutoriales-asp-net/tutorial-61-84/
creacion-de-un-diseno-mediante-master-pages.aspx

• http://www.etnassoft.com/biblioteca/asp-net-guia-de-desarrollo-
de-sitios-y-aplicaciones-web-dinamicas/

28
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje
Desarrollo de aplicaciones web con asp.net

OBJETO DE Desarrollo de Aplicaciones Web


APRENDIZAJE con ASP.Net

Desarrollador de contenido
Leydy Carolina Muñoz
Experto temático

Claudia Milena Hernández


Asesor Pedagógico

José Jaime Luis Tang Pinzón


Productor Multimedia
Yesenia Andrea Cárdenas R.

Programadores Daniel Eduardo Martínez

Líder expertos temáticos Ana Yaqueline Chavarro Parra

Líder línea de producción Santiago Lozada Garcés

Atribución, no comercial, compartir igual

Este material puede ser distribuido, copiado


y exhibido por terceros si se muestra en los
créditos. No se puede obtener ningún ben-
eficio comercial y las obras derivadas tienen
que estar bajo los mismos términos de
licencia que el trabajo original.

29
FAVA - Formación en Ambientes Virtuales de Aprendizaje SENA - Servicio Nacional de Aprendizaje

También podría gustarte