Domanda

Posso avere informazioni su "quando utilizzare" per questi e altri?

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

Grazie

È stato utile?

Soluzione

Dai un'occhiata a Riferimento alla sintassi dei moduli Web su MSDN.

Per le nozioni di base,

  • <% %> viene utilizzato per blocchi di codice puri.Generalmente lo uso solo per le istruzioni if


    <div class="autenticato">

    <div class="non autenticato">
  • viene utilizzato per aggiungere testo al markup;cioè, equivale a

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

  • <%# Expression %> è molto simile a quello precedente, ma viene valutato in uno scenario di associazione dati.Ciò significa che puoi utilizzare queste espressioni per impostare valori dei controlli runat="server", cosa che non puoi fare con la sintassi <%= %>.In genere viene utilizzato all'interno di un modello per un controllo con associazione dati, ma è possibile utilizzarlo anche nella pagina e quindi chiamare Page.DataBind() (o Control.DataBind()) per far sì che il codice venga valutato.

Gli altri menzionati nell'articolo collegato sono meno comuni, anche se certamente hanno anche i loro usi.

Altri suggerimenti

Puoi anche usare

<%= Class.Method() %>

E stamperà il risultato, proprio come puoi fare in Ruby on Rails.

Voglio solo aggiungere che c'è anche l'espressione resources

<%$ Resources:resource, welcome%>

e asp.net cercherà automaticamente la versione localizzata di "benvenuto" negli assiemi satellite.

In ASP.NET 4.0, arriva <%:%> sintassi per scrivere qualcosa di codificato in html.

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

Quanto sopra può essere usato al posto di belove.

<%= Html.Encode("<script>alert('Hello XSS')</script>")%>  
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top