<asp:Repeater ID="Repeater1" runat="server">
              <ItemTemplate>
              
                 <li>·<a href='Info_Body.asp?ID=153' target='_blank'><%#Container.ItemIndex %></a><span class='pub_time'>2010-4-16</span></li>   
              
              </ItemTemplate>
            </asp:Repeater>这里面的  <%#Container.ItemIndex %> 中的 Container 倒底代表什么东西啊?他和 后台的代码倒底存在什么样的关系 有点不明白   大侠们可否详细的解释一下

解决方案 »

  1.   

    这个是一个绑定时候给的一个属性吧  <%#DataBinder.Eval(Container.DateItem,Name)%>
    在Repeater1里面好像是 <%#DataBinder.Eval(Container.ItemIndex,Name)%>你自己体会一下
      

  2.   

    Container.ItemIndex就是所在行的行索引
    Container封装零个或更多个组件.是容器,绑定数据的一列
      

  3.   


    不知道用什么样的程度的知识来给你解释它。asp.net在处理那些循环处理多个数据的专用控件时(Repeater、DataList、GridView、FormView、ListView等都是),首先为页面(的一个堆栈)压入数据,然后控件处理每一个数据项时所编译的代码绑定表达式则从堆栈顶部取得数据。也许是偷懒,也许是这个机制一直工作很好所以没有改变,反正我知道没有去看.net framework源码的人很难相信微软竟然这样设计数据传递机制(而不是直接为这类控件的父类中统一设计一个更清晰专用的数据传递机制)。其实这个container就是栈顶的数据,它是定位为object类型的,它的真是对象类型随不同的控件而改变。
      

  4.   

    这就相当于,每一个这类数据绑定控件,它处理每一行时第一条语句都是这样的代码:   var container = this.Page.DatasQueue.Dequeue();呵呵,所有控件都不用从父类继承数据获取机制,都直接硬编码这个asp.net全局机制。