This article is currently in the process of being translated into French (~99% done).
CodeBehind
Bien que notre premier exemple soit correct, nous avons malheureusement enfreint l'un des principes de codage d'ASP.NET: séparer le balisage et le code. Comme vous l'avez remarqué, nous avons ajouté un bloc de script (en utilisant <% %>), dans lequel nous avons écrit une ligne de code C# pour utiliser l'étiquette. Bien que ce soit très bien pour un petit exemple simple comme celui-ci, nous aurions bientôt un vrai désordre avec un tas de code C # dans une quantité encore plus grande de HTML. Si vous ajoutez également du JavaScript et du CSS, la modification deviendra bientôt très chaotique. C'est pourquoi MS a introduit CodeBehind, une technique qui vous permet de séparer complètement le balisage (HTML, CSS etc.) et le code (C #, VB.NET etc.). Supprimons donc le bloc de script (à partir de <% to %>) et sauvegardons le fichier.
Comme nous en avons parlé précédemment, VS a ajouté un fichier appelé Default.aspx.cs. Si vous ne pouvez pas le voir dans l'Explorateur de solutions, cliquez sur le petit signe plus à gauche du fichier Default.aspx. Ouvrez ce fichier. Maintenant, si vous n'avez jamais travaillé avec .NET ou un autre langage de programmation non Web auparavant, cela peut sembler un peu effrayant à ce stade. Cela ne ressemble en rien au HTML. Cependant, je vais essayer d'expliquer les différentes parties du contenu, et vous verrez bientôt que CodeBehind est un excellent outil pour avoir une meilleure vue d'ensemble de votre travail. Voici une liste complète du fichier tel qu'il apparaît actuellement:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
Pour l'instant, la partie supérieure nous importe peu. C'est une liste d'espaces de noms inclus avec le mot-clé using, à utiliser dans le fichier. Puisqu'il s'agit d'un didacticiel ASP.NET et non d'un didacticiel C# dédié, C# tutorial, je n'expliquerai pas cela en détail. Ensuite, nous avons la classe. Les classes font partie du concept de programmation orientée objet (POO), qui est devenu très populaire, en particulier avec des langages comme Java et C#. La e programmation orientée objet est un sujet très complexe, qui ne sera pas non plus expliqué dans ce tutoriel (si vous souhaitez en savoir plus sur le sujet, consulter les tutoriels d'OpenClassroom simples et bien détaillés).
Le nom de cette classe est "_Default" et le ":" nous indiquent que cette classe hérite de la classe Page dans l'espace de noms System.Web.UI. Cela signifie que notre page peut déjà faire beaucoup de choses, sans aucune programmation, car elle hérite des méthodes et des propriétés d'une autre classe. Toutes les pages ASP.NET héritent de la classe Page ou d'une autre classe qui hérite de la classe Page.
La seule méthode de cette classe est la Page Load, qui est appelée à chaque fois que la page est chargée. Utilisons cela à notre avantage et définissons le texte de cette méthode. Nous pouvons utiliser exactement la même ligne de code qu'avant, mais bien sûr sans les balises de bloc de script. Ajoutez la ligne de code entre les caractères { and }:
HelloWorldLabel.Text = "Hello, world!";
C'est tout. Exécutez le projet (F5) et jetez un œil. La page ressemble exactement à la précédente, mais nous venons d'utiliser CodeBehind pour la première fois. Mais cet exemple commence à devenir un peu vieux, donc dans le prochain chapitre, nous examinerons quelque chose d'un peu plus intéressant.