2011-12-01 28 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的优秀答案涵盖了其他所有内容。我只是想通过一些进一步的说明来补充这一点。

相关问题