C# es un lenguaje de programacion orientado a objetos que permite construir aplicaciones que son ejecutadas por el framework .NET. La sintaxis de C# realmente no es complicada es muy similar a la de lenuajes de programación como C, C++ o Java. Para información técnica de la arquitectura de ejecución dar clic aquí.
A continuación vamos a crear el primer programa usando C# .Net, abrimos Visual Studio, seguimos la siguiente ruta File->New Project. Luego como se verá en la siguiente imagen en el panel izquierdo seleccionar Installed->Template->Visual C#->Web->Visual Studio 2012 y dar clic en ASP.Net Empty Web Application. Se selecciona un nombre para el proyecto y por último dar clic en OK.
Se ha creado un nuevo proyecto el cual está vacio, en el Solution explorer se da clic derecho en el proyecto ->Add->Web Form.
Le damos nombre al web form (HolaMundo). Y obtenemos el siguiente código autogenerado:
Luego se van a insertar nuevas lineas de código como se vera a continuación para generar el "Hola Mundo" .
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="HolaMundo.aspx.cs" Inherits="Tutorial1.HolaMundo" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Label ID="HOLA" runat="server"/><br/>
<asp:Button text="OK" onclick="evento1" runat="server"/>
</div>
</form>
</body>
</html>
<script runat="server">
void evento1(Object sender, EventArgs e)
{
HOLA.Text = "Hola Mundo C#";
}
</script>
Explicación:
En la linea uno de código vemos la sintaxis <%@ Page Language="C#" %>, lo cual sirve para insertar lineas de código que serán compiladas como C# usando las etiquetas cortas <% expresión %>, además el atributo runat="server" también indica compilación como C#.
@ Page es un de las directivas de las páginas ASP .NET(más información sobre directivas), en este caso @ Page define atributos de la pagina que son usados por el analizador y el compilador de ASP.NET, ésta directiva solo puede ser usada en paginas .aspx, en éste caso particular Language="C#" AutoEventWireup="true" CodeBehind="HolaMundo.aspx.cs" Inherits="Tutorial1.HolaMundo" son los atributos de la pagina .aspx en la que se esta trabajando, al crear un web form además del archivo .aspx se crea un archivo aspx.cs, lo cual permitiría tener separado el lenguaje visual de etiquetas del código de programación en C#.
La siguiente parte son los Web Server Controls, son etiquetas especiales que ofrecen más funcionalidades que los tradicionales HTML Server Controls, éstos controles son declarados como etiquetas XML , usan Namespace asp y cada uno tiene sus propios atributos, como por ejemplo:
<asp:Label ID="HOLA" runat="server"/><br/> <asp:Button text="OK" onclick="evento1" runat="server"/>
Todos los controles deben tener el atributo runat="server" para ser compilados como C#.
Tener en cuenta que C# es Case Sensitive, es decir que habrá diferencia si se escribe en letra mayúscula y en minúscula, en este caso el control asp:label que tiene ID="HOLA" debe ser referenciado como "HOLA" y no como "hola".
La segunda parte del código hace referencia a un bloque de código que sera ejecutado como C# debido a que la etiqueta script tiene el atributo runat="server".
<script runat="server">
void evento1(Object sender, EventArgs e)
{
HOLA.Text = "Hola Mundo C#";
}
</script>
Similar a como se realiza con Javascript, se creó una función evento1 que es llamada con el atributo onClick=''evento1" del control asp:Button, esta función asigna un nuevo texto al control asp:Label identificado con el ID "HOLA".
Ya con el código fuente se da clic en debug->Start debugging, en la pagina web se da clic en OK y obtenemos.
