<asp:Repeater id=Repeater1 OnItemDataBound="R1_ItemDataBound" runat="server">
           >
             
          <ItemTemplate>
             //这里显示productId
          </ItemTemplate>
             
       
       </asp:Repeater>R1_ItemDataBound(Object Sender, RepeaterItemEventArgs e) 
{
                              
 if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) {
//怎样写
  
}}
如果数据源是1到100的数组,我想productId>50后结果不显示,即绑定中止 ,不再循环,怎么办

解决方案 »

  1.   

    阿弥陀佛,lz 喝多了吧lz 的问题是需要控制数据源的内容,而非控制绑定后的样式,
    应该直接对数据源下手,而不是在绑定时增加判断!自己写个方法,直接从 product100 中获取 productLessThan50 即可!
      

  2.   

    嗯if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) {
    //怎样写
    //1到100 你怎么写的?
      

  3.   

    <asp:Repeater id=Repeater1 OnItemDataBound="R1_ItemDataBound" runat="server">
               >
                 
              <ItemTemplate>
                 <asp:Lable id="lblID" runat="server">.............
              </ItemTemplate>
                 
           
           </asp:Repeater>
    R1_ItemDataBound(Object Sender, RepeaterItemEventArgs e) 
    {
                                  
     if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) {
     if(e.Item.ItemIndex == 50)
    {
         Lable lbl = (Lable)e.Item.FindContorl("lblID");
         lbl.Text = "";
    }  
    }}可能有拼错的字,意思到就行了。。(你试试看行不行~)
      

  4.   

     <ItemTemplate>
                 <%# Container.DataItemIndex>50:"":Eval("productId")%>
              </ItemTemplate>
    top 50
    Take(50)
      

  5.   

    <asp:Repeater id=Repeater1 runat="server">
               >         
              <ItemTemplate>
                 <%# Eval("ProductId")#%>
              </ItemTemplate> 
           </asp:Repeater>SQL:Select * from [table_name] where productId<50;这样不是更好么?