2010-07-29 4 views

Répondre

18

<%: %> est a new thing in ASP.NET MVC 2. C'est le même que <%= Html.Encode("Text") %>. Il est recommandé de toujours utiliser <%: %> sauf si vous avez des raisons spécifiques de ne pas le faire (par exemple, vous affichez des données d'un fichier ou d'une base de données déjà codé).

+0

Super merci, exactement ce que je cherchais. –

+0

Est-ce que cette syntaxe a une forme équivalente dans Razor? –

6

La différence est:

<%= "my <text>" %> Affichera my <text>, qui est HTML

<%: "my <text>" %> incorrecte Affichera my &lt;text&gt;, ce qui est mieux

More details here

6

@ntcolonel est juste sur l'argent. En outre, pour les cas où vos données ont déjà été codées, fournissez-le en utilisant n'importe quel élément implémentant IHtmlString. Cela empêche le double-encodage, et vous permet de toujours utiliser <%: %>. Je crois que les boutiques ASP.NET 4 devraient s'attacher à appliquer <%:%> par stratégie.

En outre, la nouvelle syntaxe est pour ASP.NET 4 en général; pas nécessairement juste MVC, ce qui est une excellente nouvelle pour les développeurs WebForms.

Questions connexes