<%# Eval("GoodsName") %>

<%# DataBinder.Eval(Container,"DataItem.GoodsName") %>
这两个绑定表达式有什么区别呢,能说明下其中参数的意思吗?

解决方案 »

  1.   

    Eval数据绑定语法,只在数据绑定上下文中可用. 
    DataBinder可以在后台编码中使用. 
    在运行时,Eval 方法调用 DataBinder 对象的 Eval 方法,同时引用命名容器的当前数据项。 
    都是在后台运行,前者只是提供了一个asp式的简洁语法,没有很大区别.
      

  2.   

    2.0的Eval方法很简单,格式也好记 Eval("字段"),没有比这个更加易懂的了!
    DataBinder.Eval的基本格式
    DataBinder.Eval(Container.DataItem,"XXX","{0}")
    <%# DataBinder.Eval(Container.DataItem,"xxxx")%>或者<%# DataBinder.Eval(Container,"DataItem.xxxx")%> 
    还有一种据说微软说效率很高的方式
    <%# ((DataRowView)Container.DataItem)["xxxx"]%> 但是这种方式必须要在前台页面导入名称空间System.Data,否则会生成错误信息<%@ Import namespace="System.Data" %>