Dans ASP.NET, quelles sont les différentes manières d’intégrer du code dans le .aspx ?

StackOverflow https://stackoverflow.com/questions/28219

  •  09-06-2019
  •  | 
  •  

Question

Puis-je obtenir un « quand utiliser » pour ceux-ci et d'autres ?

<% %>
<%# EVAL() %>

Merci

Était-ce utile?

La solution

Vérifiez Référence sur la syntaxe des formulaires Web sur MSDN.

Pour les bases,

  • <% %> est utilisé pour les blocs de code purs.Je ne l'utilise généralement que pour les instructions if


    <div class="authentifié">

    <div class="non authentifié">
  • est utilisé pour ajouter du texte dans votre balisage ;c'est-à-dire que cela équivaut à

    <div class='<%= IsLoggedIn ?"authentifié" :"non authentifié" %>'>

  • <%# Expression %> est très similaire à ce qui précède, mais il est évalué dans un scénario DataBinding.Cela signifie notamment que vous pouvez utiliser ces expressions pour définir les valeurs des contrôles runat="server", ce que vous ne pouvez pas faire avec la syntaxe <%= %>.Généralement, cela est utilisé dans un modèle pour un contrôle lié aux données, mais vous pouvez également l'utiliser dans votre page, puis appeler Page.DataBind() (ou Control.DataBind()) pour provoquer l'évaluation de ce code.

Les autres mentionnés dans l’article lié sont moins courants, mais ont certainement aussi leur utilité.

Autres conseils

Vous pouvez aussi utiliser

<%= Class.Method() %>

Et il imprimera le résultat, comme vous pouvez le faire dans Ruby on Rails.

Je veux juste ajouter, il y a aussi l'expression des ressources

<%$ Resources:resource, welcome%>

et asp.net rechercherait automatiquement la version localisée de « bienvenue » dans les assemblys satellites.

Dans ASP.NET 4.0, vient <% :%> syntaxe pour écrire quelque chose encodé en HTML.

<%: "<script>alert('Hello XSS')</script>" %>  

Ce qui précède peut être utilisé à la place du bien-aimé.

<%= Html.Encode("<script>alert('Hello XSS')</script>")%>  
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top