UNIDAD 1: ELEMENTOS BASICOS

TEMA 11: JSHARP(3) J# :

Tercer modelo de jsharp, PARA ESTE MODELO SE SEPARAN LA PARTE DE INTERFASE CON EL USUARIO( LA FORMA Y SUS CONTROLES) Y LA PARTE PROGRAMATICA en programas o archivos diferentes.

Este modelo es mas comun y practico para la construccion modular de programas.

Prog3.aspx

<%@ PAGE INHERITS=PROG3 SRC=PROG3.JSL %>
<HTML>
<H4>BIENVENIDO A JSHARP NET</H1>
<FORM RUNAT=SERVER>
LIBRAS<ASP:TEXTBOX ID=LIBRAS RUNAT=SERVER/><BR>
KGS...:<ASP:LABEL ID=KG1 RUNAT=SERVER/><BR>
KGS...:<ASP:LITERAL ID=KG2 RUNAT=SERVER/><BR>
<ASP:BUTTON TEXT=OK ONCLICK=EVENTO1 RUNAT=SERVER/>
</FORM></HTML>

notas:

1.- Comienza con una directiva o instruccion PAGE que en principio es el compilador de paginas de ASP.NET y su atributo INHERITS le indica a dicho compilador que use una clase llamada prog3 que se encuentra el archivo fuente o SouRCe prog3.jsl.

Aparte de la directiva PAGE, existen las siguientes:

ASP.NET PAG-LEVEL DIRECTIVES:

DIRECTIVE DESCRIPCION
@ Page Define atributos usados para compilar paginas ASP.NET
@ Control Define atributos usados para compilar controles de usuarios
@ Import Imporrta NAMESPACES desde la libreria de clases de .NET
@ Register Define alias, tags, y otros parametros para constroles de usuarios y normales
@ Assembly Identifica otros archivos ( assemblies) para enlazar a esta pagina
@ OutputCache Define parametros para el cache de salida de HTML

2.- Tambien se estan demostrando dos nuevos WEBCONTROLS de despliegue LABEL y LITERAL su diferencia con TEXTBOX es que no se pueden usar para capturar, solo para desplegar pero su uso es similar es decir tienen muchas propiedades incluyendo TEXT, la diferencia entre ellos es que LABEL tiene mas y mejores propiedades.

3.- El resto de instrucciones son las normales vistas en el tema anterior.

Prog3.jsl (Recordar y usar la extension de este segundo programa)

import System.*;
import System.Web.*;
import System.Web.UI.*;
import System.Web.UI.WebControls.*;
public class PROG3 extends Page
{
public TextBox LIBRAS;
public Label KG1;
public Literal KG2;
public void EVENTO1(Object Sender, EventArgs e)
{
double temp=Convert.ToDouble(LIBRAS.get_Text()) * 0.454;
KG1.set_Text( String.Format("{0:f}",(Single)temp));
KG2.set_Text( String.Format("{0:f}",(Single)temp));
} //termina evento
} //termina clase

notas:

1.- Este programa empieza importando o usando las librerias de clases apropiadas para este problema:

SYSTEM:= Libreria mas generica de Jsharp, incluye todas las definiciones del lenguaje.

SYSTEM.WEB.UI.WEBCONTROLS:= Como se indico en tema anterior esta libreria incluye las definiciones de todos los objetos o controles de tipo WEBCONTROL que se estaran usando en el curso.

2.- Empieza el programa .jsl creando y enlazando los objetos que se tienen en PROG3.ASPX y observar que su ID es el mismo tanto en prog3.aspx como en prog3.jsl

3.- Un programa .JSL debe ser una clase, en este caso la clase se llama PROG3 y es de tipo o se deriva de la clase PAGE.

4.- Toda clase debe llevar metodos ( de preferencia MAIN()), sin embargo para este caso basta crear el metodo onclick del componente button de aspx usando el nombre del este evento(EVENTO1).

5.- Este metodo lleva el codigo normal de java net que ya se analizo en los dos temas anteriores, CON LA EXCEPCION DE QUE AHORA USAMOS LOS DOS WEBCONTROLS( LABEL y LITERAL)PERO ES INDISTINTO USAR TEXTBOX O LABEL PARA DESPLIEGUE.

6.- Ambos programas ( prog3.aspx y prog3.jsl) deberan subirse a tu sitio en LUNARPAGES y pedir el aspx de manera normal, es decir http://LUNARPAGES/tusitio/prog3.aspx.

7.- Recordar que cuando un cliente solicita este tipo de aspx, el servidor enlaza, compila y ejecuta los dos programas a la vez y le manda el resultado al browser del cliente.

8.- Usando esta tecnica se puede contruir un sistema de informacion muy grande con unos cuantos aspx y un monton de jsl que estarian enlazado a uno o varios de los aspx.

Corrida prog3.aspx y prog3.jsl

image518.jpg

Aunque es mas laborioso tener el programa en dos archivos o fuentes diferentes, a la larga es mejor este esquema de trabajo sobre todo en aquellos sistemas muy grandes es decir por ejemplo un problema de programacion muy grande es mejor resolverlo construyendo muchos jsl's y desde unos cuantos ASPX's estar llamando y enlazando los necesarios y en el momento que realmente se ocupe.

PROBLEMAS PROGRAMACION J# NET SUGERIDOS:

1.- Construir programas (jsl's) usando controles label, text, combobox, y otros para los problemas impares del del modelo de solucion.

Politica de Privacidad