J'ai programmé à la fois en ASP classique et en ASP.NET, et je vois différentes balises à l'intérieur du balisage pour le code côté serveur.
J'ai récemment rencontré un bon blog sur MSDN qui fait la différence entre:
<%=
(pourcentage avec signe égal) et<%#
(signe de pourcentage et hachage / livre / octothorpe)
( <%#
est évalué uniquement à databind, et <%=
est évalué au rendu), mais je vois aussi:
<%$
(pourcentage et signe dollar) et<%@
(signe de pourcentage et symbole).
Je crois que <%@
charge des choses comme des assemblages et peut-être <%$
charge des choses à partir de fichiers de configuration? Je ne suis pas trop sûr.
Je me demandais simplement si quelqu'un pourrait clarifier tout cela pour moi et peut-être expliquer pourquoi il est important de créer autant de balises différentes qui semblent avoir un objectif similaire?
<%#
est souvent utilisé avec eval
, mais ce n'est pas obligatoire: vous pouvez l'utiliser pour exécuter n'importe quel code côté serveur, à condition que vous exécutiez Page.DataBind()
sur la page contenant ou sa page maître. Il semble que ce soit votre seule option au cas où vous voudriez "injecter" du code côté serveur dans les attributs des contrôles côté serveur tels que <asp:TextBox
, <asp:LinkButton
ou même a <input runat="server">
.
"<%=" "<%:""<%@" "<%#"
et cela m'a envoyé ici.