In ASP.NET, quali sono i diversi modi per incorporare il codice in .aspx?
Domanda
Posso avere informazioni su "quando utilizzare" per questi e altri?
<% %>
<%# EVAL() %>
Grazie
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>")%>