在ASP.NET MVC 2中引入了<%:
標記來代替用於Html助手的<%=
。但是它是什麼意思,與前一個有什麼不同?我應該在什麼時候使用<%=
和<%:
?什麼意思是「:」在<%中:和<%=有什麼區別?
謝謝
在ASP.NET MVC 2中引入了<%:
標記來代替用於Html助手的<%=
。但是它是什麼意思,與前一個有什麼不同?我應該在什麼時候使用<%=
和<%:
?什麼意思是「:」在<%中:和<%=有什麼區別?
謝謝
在ASP.NET 4 <%: xyz %>
語法會做同樣的事情,在<%= Server.HtmlEncode(xyz) %>
以前的版本一樣。這只是一個捷徑,因爲它經常使用。
正如Richard在下面所說的那樣,它也可以根據是否實現IHtmlString
接口來確定是否不需要對字符串進行編碼。
IIRC,<%:
自動提供HTML編碼,所以你不必自己做。
在ASP.NET 4中,我們引入了一個新 代碼表達式語法(
<%: %>
) 呈現像<%= %>
塊 輸出做 - 但也自動HTML 做之前對其進行編碼所以。
閱讀博客文章瞭解更多詳情。
<%=直接注入值,而<%:自動轉義所有可怕的特殊字符給你。
換句話說,
<%: myString %>
相同
<%= Server.HtmlEncode(myString) %>
它還提供了避免HTML編碼,如果表達式的類型實現了'IHtmlString'接口 - 那麼做自己編碼的類型不需要特殊的處理。 – Richard 2010-08-25 15:18:51