<asp:Repeater ID="rptTransmit_zx6b" runat="server" OnItemDataBound="rptTransmit_zx6b_ItemDataBound"
EnableViewState="False">
<ItemTemplate>
<div class="pan_link">
<ul>
<h1>
<a href='Transmit.aspx?id=<%# Eval("TRANSMIT_ID")%>'>
<%# Eval("NAME")%>
</a>
</h1>
<li class="line_pan01">
<ol>
<asp:Repeater ID="rptTask_zx6b" runat="server">
<ItemTemplate>
<li><a href='topology.aspx?id=<%# Eval("TASK_ID")%>' title='<%#Eval("NAME") %>
<%# CutString(Convert.ToString(Eval("NAME")), 3)%>
</a>
<p id='task<%# Eval("TASK_ID")%>'>
<%#FormatString(Eval("UP_FREQUENCY"))%>
</p>
</li>
</ItemTemplate>
</asp:Repeater>
</ol>
<div id="div_zx6b" runat="server" />
<asp:PlaceHolder ID="ph_zx6b" runat="server"></asp:PlaceHolder>
</li>
</ul>
</div>
</ItemTemplate>
</asp:Repeater>我怎么样把CutString(Convert.ToString(Eval("NAME")), 3)%>中的3改成rptTask_zx6b的当前绑定的记录数。记录数不固定

解决方案 »

  1.   

    也就是,子repeater中的CutString需要子repeater的记录数。
      

  2.   

    建议你把 <a href='topology.aspx?id= <%# Eval("TASK_ID")%>' title=' <%#Eval("NAME") %> 
    <%# CutString(Convert.ToString(Eval("NAME")), 3)%>这句换成个literal控件在CS代码里生成HTML
    或者 修改一下绑定rptTask_zx6b的sql,那个sql加多一列用来计算这个sql的记录数子查询,
    <%# CutString(Convert.ToString(Eval("NAME")), Eval("count"))%>
      

  3.   

    <%# CutString(Convert.ToString(Eval("NAME")), Eval("rptTask_zx6b"))%>在后台rptTask_zx6b设为共有的,
    在将绑定的总数赋给rptTask_zx6b
      

  4.   

     前台
               <asp:Repeater ID="RepCate" runat="server" OnItemDataBound="RepCate_ItemDataBound" >
                    <ItemTemplate>
                        <div style=" margin:5px 5px 2px 5px;width:45%; height:150px; float:left;">
                            <table style="width:100%;border:1px solid #00CCFF;">
                                <tr>
                                    <td style="width:100%; height:20px;">
                                        <div style=" height:18px;width:100%; border:0px solid #0000FF; ">
                                            <div style="float:left;width:60%;font-size:15px; font-weight:bold;margin:5px auto 0px 0px;"><a href="BBSList.aspx?cid=<%#Eval("CID") %>" title="<%#Eval("CDescription") %>"><%#Eval("CName") %></a></div>
                                            <div style="float:right; width:40px; font-size:12px;margin:5px auto 0px 0px;"><a href="BBSList.aspx?cid=<%#Eval("CID") %>" title="<%#Eval("CKeys") %>">更多...</a></div>
                                            <div style="float:none;"></div>
                                        </div>
                                    </td>
                                </tr>
                                <tr>
                                    <td>
                                        <asp:Repeater ID="RepInfo" runat="server">
                                            <HeaderTemplate>
                                                <table style="width:100%; border:1px dashed #00ff00;">
                                            </HeaderTemplate>
                                            <ItemTemplate>
                                                    <tr>
                                                        <td style="border-bottom:1px dashed #000000;width:70%;">
                                                            <div style="width:80%; float:left;"> 
                                                                <a href='?iid=<%#Eval("IId") %>'><%#Eval("ITitle")%></a>
                                                            </div>
                                                            <div style="width:20%; float:right; color:Gray;">
                                                                <%# Eval("AddDate","{0:yyyy/mm/dd}") %>
                                                            </div>
                                                            <div style="float:none;"></div>
                                                        </td>
                                                    </tr>
                                            </ItemTemplate>
                                            <FooterTemplate>
                                                </table>
                                            </FooterTemplate>
                                        </asp:Repeater>
                                    </td>
                                </tr>
                            </table>
                        </div>
                    </ItemTemplate>
                </asp:Repeater>
    后台程序private void RepCateBindData()
        {
            Category cate = new Category();
            RepCate.DataSource = cate.GetCategoryByPid(32);
            
            RepCate.DataBind();
        }
        protected void RepCate_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            Infos ins = new Infos();
            //Response.Write(e.Item.ItemIndex);
            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
                Repeater rptProduct = (Repeater)e.Item.FindControl("RepInfo");
                //HiddenField hid = (HiddenField)e.Item.FindControl("hid");
                //找到分类Repeater关联的数据项 
                DataRowView rowv = (DataRowView)e.Item.DataItem;
                //提取分类ID 
                int CategorieId = Convert.ToInt32(rowv["CID"]);//hid.Value
                //根据分类ID查询该分类下的产品,并绑定产品Repeater 
                rptProduct.DataSource = ins.GetInfoByCateId(CategorieId);
                    //products.GetProductsByCategorieId(CategorieId);
                rptProduct.DataBind();
            } 
        }
      

  5.   

    <%# this.rptTask_zx6b.Items.Count + 1%> 
      

  6.   

    <%# CutString(Convert.ToString(Eval("NAME")), "this.rptTask_zx6b.Items.Count + 1")%>试试 
      

  7.   

     把3换成一个方法:GetCount();
    public int GetCount(){
         string sql = "select count(*) from 表  ";
         //查询记录数,条件要和你绑定repeater的条件一样     return Convert.ToInt32(查询到的结果);
    }             
      

  8.   

    3  用变量就可以了,变量的修饰符 至少是 protected然后 在Repeater  绑定的时候 对数据源求 记录数,然后赋值给变量即可
     
      

  9.   

    CutString(Convert.ToString(Eval("NAME")), 后台方法返回记录数)
      

  10.   

    <%# CutString(Convert.ToString(Eval("NAME")), rptTask_zx6b.Items.Count + 1)%> 
      

  11.   

    可以现在后台得到值
    在绑定到前台啊~~
    CutString(Convert.ToString(Eval("NAME")), <%= intcount%>)%>public int intcount=0;
    intcount=条数~~
      

  12.   

    <%# CutString(Convert.ToString(Eval("NAME")), 3)%> 换成  <%# CutString(Convert.ToString(Eval("NAME")), GetCount())%> 在后台写:Public int GetCount(){
             string sql = "select count(*) from table where "+//有条件就加;
              SqlConnection con = new SqlConnection();
              SqlCommend cmd = new SqlCommend();
              ......//自己写
                //最后得到查询的结果,就是你要的记录数
               //返回给页面
              return Convert.ToInt32(cmd.ExecuteScalar());
    }