Blocs de déclaration de code
Mise à jour : novembre 2007
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.Remarque : 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é : |
---|
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 les entrées d'utilisateur n'incluent pas de script ou 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>