2010-08-25 10 views

risposta

14

In ASP.NET 4 sintassi <%: xyz %> farà la stessa cosa come <%= Server.HtmlEncode(xyz) %> nelle versioni precedenti. È semplicemente una scorciatoia perché è usata così spesso.

Come dice in seguito Richard, può anche determinare se una stringa non deve essere codificata in base al fatto che implementa o meno l'interfaccia IHtmlString.

+2

Consente inoltre di evitare la codifica HTML se il tipo dell'espressione implementa l'interfaccia 'IHtmlString' - quindi i tipi che eseguono la propria codifica non richiedono un trattamento speciale. – Richard

8

IIRC, <%: fornisce automaticamente la codifica HTML in modo non c'è bisogno di farlo da soli.

Da Scott Guthrie's blog post:

Con ASP.NET 4 stiamo introducendo una sintassi nuovo codice espressione (<%: %>) che rende output come <%= %> blocchi fare - ma che ha anche automaticamente HTML codifica prima di fare così.

Leggi il post del blog per molti più dettagli.

3

<% = Inietta direttamente il valore mentre <%: esegue automaticamente l'escape di tutti i caratteri speciali spaventosi per te.

In altre parole,

<%: myString %>

è lo stesso di

<%= Server.HtmlEncode(myString) %>

Problemi correlati