2011-12-01 24 views
3

我在一段時間內使用ASP.NET Web窗體和ASP.NET MVC。

所以<%= %>意思是Response.Write(),<%: %>在MVC中引入了html轉義加入。

在SqlDataSource控件設計器中生成類似於這樣的ConnectionString="<%$ ConnectionStrings:FooConnectionString %>",並在中繼器中使用<%# Eval("") %> sytax。

我的問題是什麼<%$ %><%# %>標籤,它們轉換成什麼方法以及它們的行爲如何?

回答

2

我剪輯本文從一本書(我不記得哪本書)前一段時間,因爲我認爲這解釋了<%# %>語法以及 -

那些你熟悉的傳統的ASP應用程序可能會認爲, <%#%>語法看起來非常熟悉。它的目的是相似的,但是 您需要確保您不會混淆兩者,因爲這樣做可能會導致您的應用程序無法正常工作。然而,在ASP (和ASP.NET)中,<%=%>語法會導致在提交時評估括號內的所有內容,而僅在綁定期間評估 ASP.NET所特有的<%#%>括號。正如稍後將在 中看到的那樣,頁面和頁面上的每個可綁定控件都有一個 DataBind()方法。包含在數據綁定 括號(<%#%>)中的表達式僅在調用控件的DataBind 方法時進行評估。

這隻能回答你的問題的一半,但Rob Stevenson-Leggett的優秀答案涵蓋了其他所有內容。我只是想通過一些進一步的說明來補充這一點。

相關問題