DataBinder.Eval方法说明

在数据绑定控件中,我们经常会看到DataBinder.Eval的身影,例如:

<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem,"ProductName") %>
</ItemTemplate>
</asp:Repeater>

它表示什么意思呢?我们先来看另一个例子:

Response.Write(DataBinder.Eval(Request, "Url"));

它等效于:

Response.Write(Request.Url);

很明显,在这边DataBinder.Eval就是取Request对象Url属性的值,同理,在数据绑定控件中,DataBinder.Eval就是取Container.DataItem对象ProductName属性的值,那Container是什么东西?稍做分析,会发现它表示一个RepeaterItem对象。ok,知道了这些,那我们将代码改成下边形式也是一样的:

<%# DataBinder.Eval(Container, "DataItem.ProductName")%>
<%# ((DataRowView)Container.DataItem)["ProductName"]%>

最后说明下:DataBinder类处于System.Web.UI命名空间中,所以除Web应用程序外,在其他应用程序中一般无法直接使用它。

评论: 0 | 引用: 0 | 查看次数: 4175
发表评论
登录后再发表评论!