Blocs de code incorporés dans des pages Web ASP.NET

Mise à jour : novembre 2007

Le modèle par défaut pour ajouter du code à une page Web ASP.NET consiste à créer un fichier de classe code-behind (une page code-behind) ou à écrire le code de la page dans un bloc de script avec l'attribut runat="server" (une page à fichier unique). Le code que vous écrivez interagit normalement avec les contrôles situés dans la page. Par exemple, vous pouvez afficher des informations dans la page à partir du code en définissant les propriétés Text (ou autres) des contrôles.

Une autre possibilité est d'incorporer directement le code dans la page à l'aide d'un bloc de code incorporé.

Un bloc de code incorporé est un code serveur qui s'exécute pendant la phase de rendu de la page. Le code de ce bloc peut exécuter des instructions de programmation et des fonctions d'appel dans la classe de page actuelle.

L'exemple de code suivant montre une page ASP.NET ayant un bloc de code incorporé qui affiche les résultats d'une boucle.

<%@ Page Language="C#" %>
<html>
<body>
    <form id="form1" runat="server">
    <% for(int i = 0; i < 6; i++) %>       <% { Response.Write("<br>" + i.ToString()); }%>
    </form>
</body>
</html>

L'exemple de code suivant montre un bloc de code incorporé qui affiche la valeur d'une fonction GetTime() publique à l'intérieur d'un élément span. Dans les blocs de code incorporés, la syntaxe <% = expression %> est utilisée pour résoudre une expression et retourner sa valeur dans le bloc.

<%@ Page Language="C#" %>
<script runat=server>
protected String GetTime()
{
    return DateTime.Now.ToString("t");
}
</script>
<html>
<body>
    <form id="form1" runat="server">
       Current server time is <% =GetTime()%>.
    </form>
</body>
</html>

Les blocs de code incorporés doivent être écrits dans le langage par défaut de la page. Par exemple, si la directive @ Page de la page contient l'attribut language="VB", la page utilisera le compilateur Visual Basic pour compiler le code dans tout bloc de script marqué par runat="server" et tout code en ligne placé entre les délimiteurs <% %>.

Les blocs de code incorporés sont essentiellement pris en charge dans les pages Web ASP.NET pour conserver la compatibilité descendante avec des technologies ASP plus anciennes. En général, il n'est pas conseillé d'utiliser des blocs de code incorporés dans une logique de programmation complexe, car lorsque le code est mélangé au balisage dans la page, il peut être difficile à déboguer et à entretenir. En outre, le code n'étant exécuté que pendant la phase de rendu de la page, il offre beaucoup moins de souplesse que du code-behind ou du code de bloc de script pour la portée de votre code à l'étape appropriée du traitement de la page.

Voici quelques exemples d'utilisation des blocs de code incorporés :

  • Affecter à un contrôle ou un élément de balisage une valeur retournée par une fonction, comme dans l'exemple précédent.

  • Incorporer directement un calcul dans le balisage ou la propriété du contrôle.

Ajouts de la communauté

AJOUTER
Afficher: