<% $, <% @, <% =, <% #… Quel est le problème?

J’ai programmé dans ASP classique et ASP.NET, et je vois des balises différentes à l’intérieur du balisage pour le code côté serveur.

J’ai récemment découvert un bon blog sur MSDN qui fait la différence entre:

  • <%= (pourcentage avec signe égal) et
  • <%# (signe de pourcentage et hash / livre / octothorpe)

( <%# est évalué uniquement au 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 que <%$ charge des choses à partir de fichiers de configuration? Je ne suis pas trop sûr

Je me demandais si quelqu’un pouvait clarifier tout cela pour moi et peut-être expliquer pourquoi il est important de créer autant d’étiquettes différentes qui semblent avoir un but similaire?

  • <% %> – est pour le code en ligne (en particulier le stream logique)
  • <%$ %> – sert à évaluer les expressions (comme les variables de ressources)
  • <%@ %> – est destiné aux directives de page , à l’enregistrement des assemblys, à l’importation des espaces de noms, etc.
  • <%= %> – est un raccourci pour Response.Write (discuté ici )
  • <%# %> – est utilisé pour les expressions de liaison de données .
  • <%: %> – est un raccourci pour Response.Write (Server.HTMLEncode ()) ASP.net 4.0+
  • <%#: %> – est utilisé pour les expressions de liaison de données et est automatiquement HTMLEncoded.
  • <%-- --%> – pour les commentaires côté serveur

Vous en avez couvert 2 (<% # est évalué uniquement au databind, et <% = est évalué au rendu), et la réponse à " <%@ ” est que ce sont les directives du compilateur (c.-à-d. d mis sur la ligne de commande du compilateur).

Je ne connais pas ” <%$ ".