visão geral do modelo ASP.NET code-behind
Este artigo fornece uma breve visão geral do código em linha e do modelo code-behind no ASP.NET.
Versão original do produto: ASP.NET
Número de KB original: 303247
Resumo
Este artigo refere-se ao namespace System.Web.UI
da biblioteca de classes do Microsoft .NET Framework .
ASP.NET dá suporte a dois métodos para criar páginas:
- Código in-line
- Code-behind
In-Line código
O código em linha é um código inserido diretamente na página ASP.NET. O código a seguir representa uma página de ASP.NET de exemplo que inclui código in-line:
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>
Code-behind
O code-behind refere-se ao código para sua página ASP.NET que está contida em um arquivo de classe separado. Isso permite uma separação limpo de seu HTML da lógica de apresentação. O exemplo a seguir ilustra uma página ASP.NET code-behind:
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(); } } }
No exemplo anterior, você pode usar a seguinte sintaxe para compilar Mycodebehind.cs:
csc.exe /out:mycodebehind.dll /t:library mycodebehind.cs
Quando você usa o código a seguir, a página code-behind herda da classe Page. A classe Page reside no System.Web.UI namespace
:
public class MyClass : Page
A herdamento da Page
classe dá à página de código por trás do acesso à ASP.NET objetos intrínsecos, como Request
e Response
. Além disso, a herdamento da Page
classe fornece uma estrutura para lidar com eventos para controles na página ASP.NET.
No exemplo anterior, a página de code-behind é compilada antes de ASP.NET ser executada. Como alternativa, você pode referenciar a classe code-behind usando uma SRC
marca da seguinte maneira:
<%@ Language="C#" Inherits="MyStuff.MyClass" src="MyCodebehind.cs" %>
Nesse caso, ASP.NET compila a página code-behind em tempo real. Essa etapa de compilação só ocorre quando o arquivo de código atrás é atualizado (que é detectado por meio de uma alteração de carimbo de data/hora).
Suporte a code-behind no Visual Studio .NET
Quando você usa o Visual Studio .NET para criar ASP.NET Web Forms, páginas de código atrás são o método padrão. Além disso, o Visual Studio .NET executa automaticamente a pré-compilação para você ao criar sua solução.
Observação
As páginas de código atrás que são criadas no Visual Studio .NET incluem um atributo especial page
, , Code-behind
que o Visual Studio .NET usa.
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários