[英]What does mean “:” in <%: and what is the difference to <%=?
在ASP.NET MVC 2中引入了<%:
標記來替換<%=
用於Html幫助程序。 但這意味着什么,與前一個有什么不同? 什么時候我應該使用<%=
和<%:
:?
謝謝
在ASP.NET 4中, <%: xyz %>
語法將與先前版本中的<%= Server.HtmlEncode(xyz) %>
執行相同的操作。 它只是一個捷徑,因為它經常被使用。
正如Richard在下面所述,它還可以確定是否需要根據字符串是否實現IHtmlString
接口來編碼字符串。
IIRC, <%:
自動提供HTML編碼,因此您無需自己動手。
來自Scott Guthrie的博文 :
在ASP.NET 4中,我們引入了一種新的代碼表達式語法(
<%: %>
),它可以像<%= %>
塊一樣呈現輸出 - 但在執行此操作之前,它還會自動對HTML進行編碼。
閱讀博客文章了解更多詳情。
<%=直接注入值,而<%:自動轉義所有可怕的特殊字符。
換一種說法,
<%: myString %>
是相同的
<%= Server.HtmlEncode(myString) %>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.