簡體   English   中英

在<%中是什么意思是“:”,與<%=有什么區別?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM