Il libro è quasi corretto:
<% %>
pepite codice eseguire codice quando il modello di vista rende. Quindi, se metti una chiamata alla funzione <div><% MyFunc() %></div>
, la funzione verrà eseguita al tempo di rendering dopo l'apertura del tag se div è stato sottoposto a rendering ma prima della chiusura del tag. La funzione può fare tutto ciò che vuoi, controllare alcune condizioni e fallire con eccezione, impostare alcune variabili, usare HttpContext.CurrentContext.Response.Write
(o solo Response.Write
in webforms) per scrivere sullo stream di risposta.
<%: %>
le pepite di codice eseguono il codice contenuto al loro interno e quindi rendono il risultato codificato in HTML nel flusso di output del modello. cioè è la stessa di <% HttpServerUtility.HtmlEncode(HttpContext.CurrentContext.Response.Write(MyFunc()))%>
<%= %>
bocconcini codice eseguire il codice contenuto all'interno di esse e quindi rendono il risultato senza html codifica nel flusso di output del modello. è lo stesso di <% HttpContext.CurrentContext.Response.Write(MyFunc())%>
--- MyFunc() negli ultimi due casi deve restituire una stringa. Può anche essere un riferimento ad alcune proprietà di ViewModel
o qualsiasi altro nugget di codice che valuta una stringa.
fonte
2010-09-14 23:32:53