Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article fournit une brève vue d’ensemble du code en ligne et du modèle Code-behind dans ASP.NET.
Version du produit d’origine : ASP.NET
Numéro de 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 en ligne
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 ASP.NET contenue dans un fichier de classe distinct. Cela permet de séparer 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 les System.Web.UI namespace
points suivants :
public class MyClass : Page
Hériter de la classe donne à la Page
page code-behind l’accès aux objets intrinsèques ASP.NET, tels que Request
et Response
. En outre, l’héritage 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écutions. 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 (détecté par le biais d’une modification 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 une pré-compilation pour vous lorsque vous générez votre solution.
Note
Les pages code-behind créées dans Visual Studio .NET incluent un attribut spécial page
, Code-behind
que Visual Studio .NET utilise.