Blocs de déclaration de code

Les blocs de déclaration de code définissent des sections de code serveur incorporées dans les fichiers d'application ASP.NET, au sein de blocs <script> marqués par un attribut runat="server".

<script runat="server" language="codelanguage" Src="pathname">
   Code goes here.
</script>

Attributs

  • language
    Spécifie le langage utilisé dans ce bloc de déclaration de code. Cette valeur peut représenter n'importe quel langage pris en charge par le .NET Framework, tel que Visual Basic (VB), C# ou JScript .NET. Si aucun langage n'est spécifié, cet attribut prend par défaut la valeur de langage spécifiée dans la directive @ Page ou @ Control. Si aucun langage n'est spécifié dans la directive, la valeur par défaut est VB, sauf si vous avez modifié la valeur par défaut dans le fichier Web.config de votre application.

    RemarqueRemarque

    Un seul langage peut être utilisé pour un contrôle utilisateur ou une page ASP.NET.Si vous spécifiez le langage dans plusieurs emplacements, par exemple dans la balise d'ouverture d'un bloc de déclaration de code et dans la directive @ Page ou @ Control, ils doivent correspondre.

  • runat
    Lorsque la valeur est runat="server", cet attribut spécifie que le code contenu dans le bloc script s'exécute sur le serveur mais pas sur le client. Cet attribut est requis pour les blocs de code côté serveur.

  • src
    Spécifie le chemin d'accès et le nom d'un fichier de script externe à charger. Lorsque cet attribut est utilisé, tout autre code figurant dans le bloc de déclaration est ignoré.

Notes

Les blocs de déclaration de code sont définis à l'aide de balises <script> qui contiennent un attribut runat affecté de la valeur server. L'élément <script> peut éventuellement utiliser un attribut language pour spécifier le langage de son code interne. Si aucun langage n'est spécifié, ASP.NET prend par défaut le langage configuré pour le contrôle utilisateur ou la page de base (contrôlé à l'aide des directives @ Page et @ Control). Ces blocs de code côté serveur peuvent être déclarés dans divers fichiers d'application ASP.NET, et notamment les pages Web, les contrôles utilisateur, les pages maîtres et les fichiers Global.asax. Lors de la compilation d'un fichier d'application ASP.NET donné, le bloc de code incorporé est compilé avec l'objet spécifique associé au type de fichier ASP.NET donné. Lors de la compilation d'une page, par exemple, tous les blocs de déclaration de code incorporés sont compilés avec la classe Page dans un objet page unique sur le serveur.

Vous pouvez également utiliser l'élément <script> pour spécifier un fichier de script externe à l'aide de l'attribut src. Lorsque vous définissez l'attribut src, tout le contenu placé entre les balises d'ouverture et de fermeture de l'élément <script> est ignoré. Dans ce cas, utilisez une barre oblique à la fin de la balise d'ouverture. Par exemple : <script runat="server" src="myFile.cs" />.

Exemple

L'exemple suivant montre comment définir la logique de gestion de l'événement EnterBtn_Click.

Note de sécuritéNote de sécurité

Cet exemple a une zone de texte qui accepte l'entrée d'utilisateur, ce qui constitue une menace éventuelle pour la sécurité.Par défaut, les pages Web ASP.NET vérifient que l'entrée d'utilisateur n'inclut pas de script ni d'éléments HTML.Pour plus d'informations, consultez Vue d'ensemble des attaques de script.

<html>
  <script language="C#" runat="server">
      void EnterBtn_Click(Object Src, EventArgs E) {
          Message.Text = "Hi " + Name.Text + ", welcome to ASP.NET!";
      }
  </script>

  <body>
   <form runat="server">
    Enter your name: <asp:textbox id="Name" runat=server/> 
                     <asp:button text="Enter" Onclick="EnterBtn_Click" runat="server"/>
        <p>
        <asp:label id="Message" runat=server/>
    </form>
  </body>
</html>
<html>
  <script language="VB" runat="server">
      Sub EnterBtn_Click(Src As Object, e As EventArgs)
         Message.Text = "Hi " & Name.Text & ", welcome to ASP.NET!"
      End Sub
  </script>

  <body>
   <form runat="server">
    Enter your name: <asp:textbox id="Name" runat=server/> 
                     <asp:button text="Enter" Onclick="EnterBtn_Click" 
                       runat="server"/>
        <p>
        <asp:label id="Message" runat=server/>
    </form>
  </body>
</html>

Voir aussi

Concepts

Vue d'ensemble de la syntaxe des pages Web ASP.NET