Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se proporciona información general breve sobre el código en línea y el modelo de código subyacente en ASP.NET.
Versión original del producto: ASP.NET
Número de KB original: 303247
Resumen
En este artículo se hace referencia al espacio de nombres System.Web.UI
de la biblioteca de clases de Microsoft .NET Framework .
ASP.NET admite dos métodos para crear páginas:
- Código en línea
- Código subyacente
Código en línea
El código en línea es código incrustado directamente dentro de la página de ASP.NET. El código siguiente representa una página de ASP.NET de ejemplo que incluye código en línea:
Myinlinecode.aspx
<%@ Language=C# %>
<HTML>
<script runat="server" language="C#">
void MyButton_OnClick(Object sender, EventArgs e)
{
MyLabel.Text = MyTextbox.Text.ToString();
}
</script>
<body>
<form id="MyForm" runat="server">
<asp:textbox id="MyTextbox" text="Hello World" runat="server"></asp:textbox>
<asp:button id="MyButton" text="Echo Input" OnClick="MyButton_OnClick" runat="server"></asp:button>
<asp:label id="MyLabel" runat="server"></asp:label>
</form>
</body>
</HTML>
Código subyacente
El código subyacente hace referencia al código de la página de ASP.NET que se encuentra dentro de un archivo de clase independiente. Esto permite una separación limpia del código HTML de la lógica de presentación. En el ejemplo siguiente se muestra una página de código subyacente de ASP.NET:
MyCodebehind.aspx
<%@ Language="C#" Inherits="MyStuff.MyClass" %> <HTML> <body> <form id="MyForm" runat="server"> <asp:textbox id="MyTextBox" text="Hello World" runat="server"></asp:textbox> <asp:button id="MyButton" text="Echo Input" Onclick="MyButton_Click" runat="server"></asp:button> <asp:label id="MyLabel" runat="server" /> </form> </body> </HTML>
Mycodebehind.cs
using System; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace MyStuff { public class MyClass : Page { protected System.Web.UI.WebControls.Label MyLabel; protected System.Web.UI.WebControls.Button MyButton; protected System.Web.UI.WebControls.TextBox MyTextBox; public void MyButton_Click(Object sender, EventArgs e) { MyLabel.Text = MyTextBox.Text.ToString(); } } }
En el ejemplo anterior, puede usar la sintaxis siguiente para compilar Mycodebehind.cs:
csc.exe /out:mycodebehind.dll /t:library mycodebehind.cs
Cuando se usa el código siguiente, la página de código subyacente hereda de la clase Page. La clase Page reside en :System.Web.UI namespace
public class MyClass : Page
La herencia de la Page
clase proporciona acceso a la página de código subyacente al ASP.NET objetos intrínsecos, como Request
y Response
. Además, heredar de la Page
clase proporciona un marco para controlar los eventos de los controles dentro de la página de ASP.NET.
En el ejemplo anterior, la página de código subyacente se compila antes de que se ejecute ASP.NET. Como alternativa, puede hacer referencia a la clase de código subyacente mediante una SRC
etiqueta como se indica a continuación:
<%@ Language="C#" Inherits="MyStuff.MyClass" src="MyCodebehind.cs" %>
En este caso, ASP.NET compila la página de código subyacente sobre la marcha. Este paso de compilación solo se produce cuando se actualiza el archivo de código subyacente (que se detecta a través de un cambio de marca de tiempo).
Compatibilidad con código subyacente en Visual Studio .NET
Cuando se usa Visual Studio .NET para crear ASP.NET Formularios web Forms, las páginas de código subyacente son el método predeterminado. Además, Visual Studio .NET realiza automáticamente la compilación previa al compilar la solución.
Nota:
Las páginas de código subyacente que se crean en Visual Studio .NET incluyen un atributo especial page
, Code-behind
, que visual Studio .NET usa.