2009-06-05 6 views
186

J'ai programmé à la fois ASP classique et 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 good blog on MSDN qui va sur la différence entre:

  • <%= (pourcentage avec signe égal) et
  • <%# (signe pour cent et hachage/livre/dièse)

(<%# est évaluée seulement à DataBind et <%= est évaluée au moment du rendu), mais je vois aussi:

  • <%$ (pour cent et signe dollar) et
  • <%@ (signe pour cent et au symbole).

Je crois <%@ charges des choses comme des assemblages et peut-être <%$ charges choses à partir des fichiers de configuration? Je ne suis pas trop sûr. Je me demandais juste si quelqu'un pourrait clarifier tout cela pour moi et peut-être expliquer pourquoi il est important de créer autant de tags différents qui ont apparemment un but similaire?

+62

Je suis heureux que vous demandez, parce qu'il est très difficile de google;) –

+8

Impossible Google! – jdbosley

+0

'<% #' est souvent utilisé avec 'eval', mais il n'a pas à: 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 son la page principale.Il semble que ce soit votre seule option si vous voulez "injecter" du code côté serveur dans les attributs des contrôles côté serveur tels que ''. –

Répondre

263
+0

Je suppose que c'est parce que c'est une réponse acceptée, mais en essayant de modifier/w le lien n'a pas fonctionné. Voici le lien que j'ai essayé de mettre à propos de l'évaluation de l'expression "<% $": http://msdn.microsoft.com/en-us/library/d5bd1tad.aspx –

+0

Awesome! Je sais que c'est vieux mais j'ai regardé partout sur internet pour cette info les 2 derniers jours. Merci! – jdbosley

+5

Y a-t-il un nom pour tout cela? Comment s'appellent-ils en tant que groupe? – Vippy

4

Vous avez couvert 2 d'entre eux (<% # est évaluée seulement à DataBind et <% = est évalué à rendre), et la réponse pour « <%@ » est que c'est des directives du compilateur (ie., Des trucs comme quoi vous mettriez sur la ligne de commande d'un compilateur).

Je ne connais pas "<%$".

Questions connexes