<%#%>有什么用?

时间:2011-08-01 08:46:19

标签: c# asp.net data-binding

我所知道的是<%# ... %>用于将数据绑定到ASPX页面。这是唯一的用途吗?

此标记的用法是什么以及如何使用?

6 个答案:

答案 0 :(得分:4)

Data-Binding Expressions Overview来自MSDN。

  

数据绑定表达式包含在&lt;%#和%&gt;中。分隔符   并使用Eval和Bind函数。 Eval函数用于   定义单向(只读)绑定。绑定功能用于   双向(可更新)绑定。除了调用Eval和Bind之外   您可以在数据绑定表达式中执行数据绑定的方法   在&lt;%#和%&gt;内调用任何公开范围的代码分隔符   执行该代码并在页面处理期间返回一个值。

答案 1 :(得分:1)

这是它的唯一用途。

请参见此处Data-Binding Expression Syntax

  

所有数据绑定表达式必须包含在&lt;%#和%&gt;之间   字符。

     

ASP.NET支持创建的分层数据绑定模型   服务器控件属性和数据源之间的绑定。几乎   任何服务器控件属性都可以绑定到任何公共字段或   包含页面或服务器控件的属性   命名容器。

     

数据绑定表达式使用Eval和Bind方法将数据绑定到   控制并将更改提交回数据库。 Eval方法是一个   static(只读)方法,它接受数据字段的值和   将其作为字符串返回。 Bind方法支持读/写   能够检索数据绑定值的功能   控制并提交对数据库所做的任何更改。

在这里,Data-Binding Expressions Overview

  

数据绑定表达式包含在&lt;%#和%&gt;中。分隔符   并使用Eval和Bind函数。 Eval函数用于   定义单向(只读)绑定。绑定功能用于   双向(可更新)绑定。除了调用Eval和Bind之外   您可以在数据绑定表达式中执行数据绑定的方法   在&lt;%#和%&gt;内调用任何公开范围的代码分隔符   执行该代码并在页面处理期间返回一个值。

     

数据绑定表达式在数据绑定时解析   控件或Page类被调用。对于控件如   GridView,DetailsView和FormView控件,数据绑定表达式   在控件的PreRender事件期间自动解决   您不需要显式调用DataBind方法。

答案 2 :(得分:0)

答案 3 :(得分:0)

是的,这是唯一的用途。

您可以在支持数据绑定的任何控件的内容中使用它。它用于从数据源中的一个项中获取值。

ASP.NET data binding overview

答案 4 :(得分:0)

http://msdn.microsoft.com/en-us/library/ms178366.aspx上有一篇关于DataBinding表达式的MSDN文章,但一般情况下你是对的。通常,您可以将其用于数据绑定或数据评估

答案 5 :(得分:0)

前段时间,我从一本书中复制了以下引文,以提醒我&lt;%#%&gt;语法工作,不幸的是我现在不记得我用过哪本书。无论如何这是引用 -

那些熟悉经典ASP应用程序的人可能认为&lt;%#%&gt;语法看起来非常熟悉。它的目的是相似的,但你需要确保不要混淆这两者,因为这样做可能会导致应用程序无法正常运行。 而在ASP(和ASP.NET)中,语法会导致括号内的任何内容在呈现时进行计算,而ASP.NET唯一的括号仅在绑定期间进行计算。正如您将在本节后面看到的那样,页面和页面上的每个可绑定控件都有一个DataBind()方法。只有在调用控件的DataBind方法时,才会计算数据绑定括号(&lt;%#%&gt;)中包含的表达式。