vue d’ensemble du modèle code-behind ASP.NET
Cet article fournit une brève vue d’ensemble du code in-line et du modèle code-behind dans ASP.NET.
Version d’origine du produit : ASP.NET
Numéro de la base de connaissances d’origine : 303247
Résumé
Cet article fait référence à l’espace de noms System.Web.UI
de bibliothèque de classes Microsoft .NET Framework .
ASP.NET prend en charge deux méthodes pour créer des pages :
- Code en ligne
- Code-behind
code In-Line
Le code en ligne est du code incorporé directement dans la page ASP.NET. Le code suivant représente un exemple de page ASP.NET qui inclut du code en ligne :
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
Code-behind fait référence au code de votre page d’ASP.NET contenue dans un fichier de classe distinct. Cela permet une séparation propre de votre code HTML de votre logique de présentation. L’exemple suivant illustre une page code-behind 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(); } } }
Dans l’exemple précédent, vous pouvez utiliser la syntaxe suivante pour compiler Mycodebehind.cs :
csc.exe /out:mycodebehind.dll /t:library mycodebehind.cs
Lorsque vous utilisez le code suivant, la page code-behind hérite de la classe Page. La classe Page réside dans :System.Web.UI namespace
public class MyClass : Page
L’héritage de la Page
classe permet à la page code-behind d’accéder aux objets intrinsèques ASP.NET, tels que Request
et Response
. En outre, hériter de la Page
classe fournit une infrastructure pour la gestion des événements pour les contrôles dans la page ASP.NET.
Dans l’exemple précédent, la page code-behind est compilée avant ASP.NET’exécution. Vous pouvez également référencer la classe code-behind à l’aide d’une SRC
balise comme suit :
<%@ Language="C#" Inherits="MyStuff.MyClass" src="MyCodebehind.cs" %>
Dans ce cas, ASP.NET compile la page code-behind à la volée. Cette étape de compilation se produit uniquement lorsque le fichier code-behind est mis à jour (qui est détecté par un changement d’horodatage).
Prise en charge du code-behind dans Visual Studio .NET
Lorsque vous utilisez Visual Studio .NET pour créer ASP.NET Web Forms, les pages code-behind sont la méthode par défaut. En outre, Visual Studio .NET effectue automatiquement la précompilation pour vous lorsque vous générez votre solution.
Remarque
Les pages code-behind créées dans Visual Studio .NET incluent un attribut spécial page
, Code-behind
, que Visual Studio .NET utilise.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour