Iniciando con ASP.NET y C#
By: Date: agosto 12, 2006 Categories: Programación

Desde ayer Viernes 11 de Agosto me ha entrado curiosidad por, probar el
ASP.NET y es que lo había ignorado ya que ASP 3.0 y anteriores, nunca me
gustaron. Siempre he usado PHP para programación en WEB

Debo aclarar que no tengo mucha experiencia, (Horas de Vuelo/Programación) en
ASP 3.0 y anteriores y que nunca he programado en PHP en modo objetos “POO� para
mi PHP siempre ha sido un Script lineal y ese el uso que le doy, sin embargo el
ASP.NET me obliga a usar lenguajes orientados a objetos y para lo .NET siempre
uso C#, Así que he comenzado a escribir algunos programas de practica con
ASP.NET en lenguaje C#

Mi entorno de trabajo es un servidor GNU/Linux con Mono y XSP como proveedor de
ASP.NET

Lo primero que he notado en ASP.NET es que no tengo que saber mucho de HTML, en
PHP al dar salida a un navegador. Tengo que preocuparme por el formato del mismo
en HTML, por ejemplo

PHP

Echo “<input type=\�submit\� value=\�Enviar\�>�;

ASP.NET

<asp:Button id=�nombreobjeto� Text=�Enviar�/>

Ambos códigos van producir la salida de un botón que indica Enviar, el problema
con PHP es que el botón se produce por que yo escribí el código HTML y por lo
tanto no sabe que se trata de un botón, Sin embargo en ASP.NET no escribí código
HTML, ASP.NET sabe que se trata de un botón y a la hora de dar salida a la
pagina WEB escribirá los tags necesario para darle forma a mi botón, ósea va a
escribir <input type=�submit� value=�Enviar�>

Hasta este punto, lo que he puesto de ASP.NET no se parece en nada a C#, sin
embargo esa etiqueta ASP.Net equivale a:

Button nombreobjeto = new Button();

Así que cada etiqueta <asp:tipo> es en realidad una instancia a un objeto que ya
en el código C# podremos manipular, incluso algunos eventos como el OnClick, Por
lo tanto desde la misma etiqueta podemos acceder a sus métodos y a sus eventos.

Otra habilidad que he notado del ASP.NET es poder guardar el estado de cada
objeto y valor de variables sin la intervención del programador, a la vista del
programador esto es similar a programa localmente, ya que en un programa local,
almacenamos variables y sabemos que mientras el programa este corriendo nuestra
variable y su valor estará ahí.
En PHP esto lo podemos hacer mediante sesiones o pasándonos los valores de cada
variable por medio de formularios en campos ocultos (hidden), sin embargo en
ASP.NET los valores se conservan mientras estemos en la pagina, tal como un
programa los conserva, mientras esta corriendo en memoria. Por lo tanto ASP.Net
da la sensación d que nuestro programa C# en el WEB esta corriendo al igual que
un programa en nuestra computadora y hasta que no cerremos la pagina no se
perderán los valores de la memoria.

A continuación voy a escribir un código de C# en ASP.NET que contara los clicks
a un botón y almacenara en memoria los mediante un dropdownlist o en Windows
combobox, los nombres que entren por un TextBox

<html>
<title>Programando en el WEB con C#</title>
<head>
<%@ language="C#" %>
<script runat="server">
    // Aqui va el codigo C#

    static int contador = 0;

    void eventobotonclick (object o, EventArgs e)
    {

        // Vengo por el llamado del evento
click, a darle click al boton
        contador++;
        l1.Text = "Le has dado Click al boton
"+ contador.ToString() + " Veces";

    }

    void eventoclickagregar (object o, EventArgs e)
    {

        // Se ejecuta cuando el dado click al
boton agregar
        if (nombre.Text != "Agregar otro
nombre")
    {
lista.Items.Add (nombre.Text);
l1.Text = "Agregado: " + nombre.Text;
}

else l1.Text = "Error, Agrega otro nombre";

nombre.Text = "Agregar otro nombre";

}

</script>
</head>

<body>
<center>Texto simple de HTML<br><asp:Label id="l1" Text="Texto del Objeto Label"
runat="server"/></center>
<form runat="server">
<p><asp:Button id="boton" Text="Darme Clic" runat="server" OnClick="eventobotonclick"/></p>
</form>

<p>
<form runat="server">
<asp:TextBox id="nombre" runat="server"/>
<asp:DropDownList id="lista" runat="server"/>
<asp:Button id="agregar" Text="Agregar" runat="server" OnClick="eventoclickagregar"/>
</form>
</p>
</body>
</html>

 

Salida en el WEB

El código HTML automáticamente generado por ASP.NET de este programa es:

<html>
<title>Programando en el WEB con C#</title>
<head>

</head>

<body>
<center>Texto simple de HTML<br><span id="l1">Le has dado Click al boton 19
Veces</span></center>
<form name="_ctl0" method="post" action="objetos.aspx" id="_ctl0">
<input type="hidden" name="__VIEWSTATE" value="DA0ADgIFAQUFDgINDQ8BAQRUZXh0ASNMZSBoYXMgZGFkbyBDbGljayBhbCBib3RvbiAxOSBWZWNlcwAAAAANAA4CBQEFAw4CDQ0PAQIAAAETQWdyZWdhciBvdHJvIG5vbWJyZQAAAAANDQAMGhgNU3lzdGVtLlN0cmluZ05tc2NvcmxpYiwgVmVyc2lvbj0xLjAuNTAwMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkDAQ9NYXJpYW5vIFZlbnRhamEBD0ZlbGlwZSBDYWxkZXJvbgENQW5kcmVzIE1hbnVlbBoZAwADAgQAAgUAAgYADgEFAAAAAA=="
/>

<p><input type="submit" name="boton" value="Darme Clic" id="boton" /></p>
</form>

<p>
<form name="_ctl1" method="post" action="objetos.aspx" id="_ctl1">
<input type="hidden" name="__VIEWSTATE" value="DA0ADgIFAQUFDgINDQ8BAQRUZXh0ASNMZSBoYXMgZGFkbyBDbGljayBhbCBib3RvbiAxOSBWZWNlcwAAAAANAA4CBQEFAw4CDQ0PAQIAAAETQWdyZWdhciBvdHJvIG5vbWJyZQAAAAANDQAMGhgNU3lzdGVtLlN0cmluZ05tc2NvcmxpYiwgVmVyc2lvbj0xLjAuNTAwMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkDAQ9NYXJpYW5vIFZlbnRhamEBD0ZlbGlwZSBDYWxkZXJvbgENQW5kcmVzIE1hbnVlbBoZAwADAgQAAgUAAgYADgEFAAAAAA=="
/>

<input id="nombre" type="text" value="Agregar otro nombre" name="nombre" />
<select name="lista" id="lista">
<option selected="selected" value="Mariano Ventaja">Mariano Ventaja</option>
<option value="Felipe Calderon">Felipe Calderon</option>
<option value="Andres Manuel">Andres Manuel</option>

</select>
<input type="submit" name="agregar" value="Agregar" id="agregar" />
</form>
</p>
</body>
</html>

Temporalmente el programa lo tendre disponible ONLINE en la dirección:

https://www.lastdragon.net:8080/objetos.aspx
 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *