<%# DataBinder.Eval(Container.DataItem, "UnitPrice") %>是什么意思啊?vs2008中,在asp的源码里面添加了,运行时报错啊。“System.ComponentModel.Container”并不包含“DataItem”的定义 那个dataitem是什么东西啊?确实没有。网上又有代码。

解决方案 »

  1.   

    是不是因为VS08里德控件在ASP里面不能用的问题
      

  2.   


    你这是几个问题啊让人没法回答<%# DataBinder.Eval(Container.DataItem, "UnitPrice") %>是什么意思啊?
    ==
    用反射取得DataItem中以UnitPrice为名的变量的值
    vs2008中,在asp的源码里面添加了,运行时报错啊?
    ==
    什么asp,不清楚你说什么“System.ComponentModel.Container”并不包含“DataItem”的定义 那个dataitem是什么东西啊?确实没有。网上又有代码?
    ==
    也不是很清楚你问的是什么,以下是摘录的一段话,参考
    从asp.net2.0开始,绑定表达是使用Eval,基本不需要使用Container.DataItem。对于各种具有数据绑定的控件,在处理数据源的每一行数据时,首先把数据压入当前Page的一个数据堆栈中,然后这个控件的每一行的子控件再从堆栈顶取出数据(这样就绕开了需要为控件及其子控件预先设计通讯接口的责任)。因此每一行数据所看到的一个Container,其实是这个传递进来的数据项。每一个控件都把数据项包装为一个对象,例如FormView控件包装的Container就是一个FormView对象,GridView对象包装出来的是 GridViewRow,ListView包装出来的是ListViewDataItem。每一个Container是否都有DataItem属性?不一定,不要想当然。当然如果你仅使用asp.net中内置的几种控件,它们恰好都有一个DataItem属性,所以这似乎没有多大问题。
      

  3.   

    后台绑定数据库后  再前台Eval绑定
    <%# DataBinder.Eval(Container.DataItem, "UnitPrice") %> 写在html里
      

  4.   

    直接这样绑定<%# Eval("UnitPrice") %>
      

  5.   

    using   System.ComponentModel
    DataBinder.Eval(Container.DataItem, "Content ")把数据字段 "content "绑定 
    <asp:TextBox Text="<%# Eval("title")%>"
    DataBinder.Eval 方法  
    DataBinder是System.Web里面的一个静态类,它提供了Eval方法用于简化数据绑定表达式的编写,但是它使用的方式是通过Reflection等开销比较大的方法来达到易用性, 
    在运行时使用反射来分析和计算对象的数据绑定表达式 
    使用 <%#  %> 表达式语法 
      

  6.   

    数据字段 "content "绑定  
      

  7.   

    路过  关于GridView的一些常用方法我博客有点!你这个问题我都听不明白
      

  8.   

    <%# DataBinder.Eval(Container.DataItem, "UnitPrice") %>
    这种绑定方法主要是 .net2.0以前版本中用, 现在基本都是直接<%# Eval("UnitPrice") %>
    可能是微软做了更好的封装,自动转(反正就是更简便了点)
    这种绑定好像都只是用在控件上GridView,DataList...如果你要绑定TextBox,你可以这样,在后台定义一个 public string test="aaaaaaaaaaaaa";前台:<asp:TextBox id="txt1" runat="server"><%=test %></asp:TextBox>