首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

Repeater 嵌套解决思路

2013-08-04 
Repeater嵌套asp:Repeater IDRepeater1 runatserverItemTemplateasp:Repeater IDRepeater2

Repeater 嵌套

        <asp:Repeater ID="Repeater1" runat="server">
        <ItemTemplate>
          <asp:Repeater ID="Repeater2" runat="server">
          <ItemTemplate>
          <%  %>
          </ItemTemplate>
          </asp:Repeater>
        </ItemTemplate>
        </asp:Repeater>




    Repeater 嵌套在Repeater 里面, 我想在第二次嵌套 <%  %> 里面得到Repeater2循环的次数。高手指点一二啊。
服务器 ASP 嵌套 Repeater
[解决办法]
引用:
        <asp:Repeater ID="Repeater1" runat="server">
        <ItemTemplate>
          <asp:Repeater ID="Repeater2" runat="server">
          <ItemTemplate>
          <%  %>
          </ItemTemplate>
          </asp:Repeater>
        </ItemTemplate>
        </asp:Repeater>




    Repeater 嵌套在Repeater 里面, 我想在第二次嵌套 <%  %> 里面得到Repeater2循环的次数。高手指点一二啊。

实现前面的编号 一个repeater就好
<Itemtemplate >
<%# Container.ItemIndex + 1% >
</Itemtemplate >

------解决方案--------------------


参考:http://blog.csdn.net/guwei4037/article/details/7404986
[解决办法]



 <%# Eval("name").ToString()!=""? Eval("name"):"0" %> 

我是这么写的。但还是没反应。没显示。

数据库里没有数据,说明你绑定的数据行数为0,你要自己添加一行数据
[解决办法]
引用:
    Repeater 嵌套在Repeater 里面, 我想在第二次嵌套 <%  %> 里面得到Repeater2循环的次数。高手指点一二啊。

后台 代码: 

                protected static int i = 0;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                i = 0;
                Repeater1.DataSource = TM.DBUtility.DbHelperSQL.GetDataTable("select top 5 * from Table_1");
                Repeater1.DataBind();
            }
        }
        protected void Repeater1ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            Repeater r = (Repeater)e.Item.FindControl("Repeater2");
            DataTable dt = TM.DBUtility.DbHelperSQL.GetDataTable(string.Format("select top {0} * from Table_1", e.Item.ItemIndex + 1));
            dt.Columns.Add(new DataColumn("count"));
            foreach (DataRow dr in dt.Rows)
            {
                dr["count"] = e.Item.ItemIndex + 1;


            }
            r.DataSource = dt;
            r.DataBind();
        }


前天代码:
<table border="1">
        <asp:Repeater ID="Repeater1" OnItemDataBound="Repeater1ItemDataBound" runat="server">
            <ItemTemplate>
                <tr>
                    <td>
                        <%# Container.ItemIndex + 1 %>
                    </td>
                </tr>
                <asp:Repeater ID="Repeater2" runat="server">
                    <ItemTemplate>
                        <tr>
                            <td>
                                <table border="1">
                                    <tr>
                                        <td>
                                            <%#Eval("count") %>
                                        </td>


                                    </tr>
                                </table>
                            </td>
                        </tr>
                    </ItemTemplate>
                </asp:Repeater>
            </ItemTemplate>
        </asp:Repeater>
    </table>


效果图:Repeater  嵌套解决思路

热点排行