martes, 7 de enero de 2014

Utilización de código detrás del modelo o código en línea

Código detrás del modelo (Code Behind)

Poder manejar código detrás del modelo nos permite organizar los eventos en forma separada. Todo lo relacionado con Interfaz de usuario lo manejamos en el archivo .aspx y el control de los eventos en un archivo separado .cs (para C Sharp). De forma similar a la que manejamos los archivos de JavaScript (.js) – donde incluimos todas las funciones y luego las referenciamos en el aspx – hacemos con el Code Behind.
Recordemos la primer directiva de nuestra página aspx.
?
1
<%@ Page Language="C#" %>
Ahí es donde vamos a indicar que el código de eventos va separado de la UI.
Lo marcamos de la siguiente manera.

1
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
¿Qué le estamos diciendo a ASP.NET al incluir esta directive Page a la página aspx?

Lo vemos punto por punto:

  • Language="C#" : este atributo le está indicando al compilador que el código estará escrito en lenguaje C Sharp.
  • AutoEventWireup="true" :  aquí indicamos si el código será inline o Behind. Al setearlo en true le estamos indicando que el código será detrás del modelo (CodeBehind) y será especificar el nombre del archivo donde deberá ir a buscar el código de eventos.
  • CodeFile="Default2.aspx.cs": Aquí le indicamos el nombre del archivo donde incluiremos el código de eventos.
  • Inherits="Default2": Especificamos que clase va a heredar, esta clase la va a ir a buscar dentro del archivo que indicamos en CodeFile.
Veamos un ejemplo de código utilizando Code Behind.

Nuestro ejemplo tendrá dos archivos:

  1. Default.aspx
  2. Default.cs
  1. Default.aspx: Incluirá todo lo relacionado con interfaz de usuario.
  2. Default.cs: Aquí pondremos el código de los eventos que se ejecuten desde el formulario.

Default.aspx

?
1
2
3
4
5
6
7
8
9
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default" %>
<html> <head runat="server">
<title></title> </head>
<body> <form id="form1" runat="server">
<div> <asp:TextBox ID="txtNombre" runat="server"></asp:TextBox> <asp:Button ID="btnAceptar" runat="server" Text="Aceptar"
onclick="btnAceptar_Click"/> <br/>
<asp:Label ID="lblResultado" runat="server" Text="[Resultado]"></asp:Label> </div>
</form> </body>
</html>

Default.cs

?
1
2
3
4
5
6
using System; using System.Web.UI.WebControls;
public partial class Default : System.Web.UI.Page {
}
protected void btnAceptar_Click(object sender, EventArgs e) {
}
lblResultado.Text = txtNombre.Text; txtNombre.Text = string.Empty;

No hay comentarios:

Publicar un comentario