2012-04-03 125 views
2

我明白<%=是返回一個字符串`<%#`和`<%=`和一個asp.net ascx文件之間的區別?

我似乎通常是在我的.ascx文件使用<%#

例如,下面的作品

OnClientClick=<%# String.Format("return confirm('Are you sure you wish to delete barcode ({0})?');", Eval("BARCODE")) %>

下不起作用

OnClientClick=<%= String.Format("return confirm('Are you sure you wish to delete barcode ({0})?');", Eval("BARCODE")) %>

+0

它看起來像你的「這個作品」和「這不起作用」是完全一樣的......除非我失去了一些東西。 – TLS 2012-04-03 05:38:56

+0

是的謝謝,我更新 – jax 2012-04-03 05:49:28

回答

5

<%#表示有在那裏的評價函數,它在綁定的數據並研究數據爲Eval()函數中的列或屬性。它特定於WebForms中的數據綁定。

<%=只是期望可以轉換爲字符串的東西。它將由EVAL感到困惑()

最後還有MVC中的新

<%@ - 它接受字符串輸入,和HTML編碼它要儘量避免XSS。

+0

是不是MVC符號'<%:'? – devio 2012-04-03 05:31:23

+0

<%:輸出沒有編碼。在WebForms視圖引擎中。切換到剃刀,它全是@ :) – blowdart 2012-04-03 05:38:21

相關問題