Question

J'utilise ASP.NET depuis des années, mais je ne me souviens jamais de l'utilisation appropriée des options # et =.

Par exemple:

<%= Grid.ClientID %>

ou

<%# Eval("FullName")%>

Quelqu'un peut-il expliquer quand il faut utiliser chacun afin que je puisse le garder dans mon esprit? # Est-il uniquement utilisé dans les contrôles prenant en charge la liaison de données?

Était-ce utile?

La solution

<% =% > équivaut à faire Response.Write (& "; &";) où que vous soyez.

<% #% > est destiné à la liaison de données et ne peut être utilisé que si la liaison de données est prise en charge (vous pouvez les utiliser au niveau de la page en dehors d'un contrôle si vous appelez Page.DataBind () dans votre codebehind)

Vue d'ensemble des expressions de liaison de données

Autres conseils

Il y a plusieurs "piqûres d'abeilles" différentes:

  • <%@ - directive de page
  • <%$ - accès aux ressources
  • <%= - sortie explicite vers la page
  • <%# - liaison de données
  • <%-- - bloc de commentaires côté serveur

Nouveau aussi dans ASP.Net 4:

  • <%: - écrit sur la page, mais avec le code HTML codé

Nouveau aussi dans ASP.Net 4.5:

  • <%#: - Liaison de données codée HTML

Voici un excellent billet de blog de Dan Crevier qui passe en revue une application test qu'il a écrite pour montrer les différences.

En substance:

  • Les <% = expressions sont évaluées lors du rendu
  • Les expressions <% # sont évaluées au moment de DataBind () et ne le sont pas du tout si DataBind () n'est pas appelé.
  • < Les expressions% # peuvent être utilisées comme propriétés dans les contrôles côté serveur. <% = les expressions ne peuvent pas.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top