repeater控件的。先说数据库。三个字段  id    navgationType     typename  
                       1       产品分类         AAAA
                       2       产品分类         BBBB
                       3       热卖产品         CCCC想实现这样的导航效果:   产品分类    AAAA    BBBB
   热卖产品    CCCC
这是我的代码页 nbl是调用的业务逻辑层的。数据访问层的方法就是根据 navgationType 查 typename。返回类型是Dataset.但是我页面里怎么也绑不上。求大神帮忙数据库里的数据以后还会添加。怎么让他动态循环列出来,求大神给页面的代码,急死了  

解决方案 »

  1.   

    看到Drug就想起卖假药的,希望不是,不然罪过了。没看到你在哪里bang的。
      

  2.   


    repeater不是叫repeater1嘛,第二张图,不是repeaterbind嘛。求教页面代码那里怎么改,周一早晨就要交这个
      

  3.   

    我是说,你这个bang()函数在哪里调用的,截图看不出来。
      

  4.   

    LZ你这样的并不好用控件来显示还有既然是动态添加导航,那么导航类别也是应该动态添加的下面是我在控制台写的一个模拟的程序,用拼接html的方式实现的class Program
        {
            static void Main(string[] args)
            {
                //手动构建一个DataTable
                DataTable dt = new DataTable();
                dt.Columns.Add("id");
                dt.Columns.Add("navgationType");
                dt.Columns.Add("typename");
                DataRow row1 = dt.NewRow();
                row1["id"] = 1;
                row1["navgationType"] = "产品分类";
                row1["typename"] = "AAA";
                dt.Rows.Add(row1);
                DataRow row2 = dt.NewRow();
                row2["id"] = 2;
                row2["navgationType"] = "产品分类";
                row2["typename"] = "BBB";
                dt.Rows.Add(row2);
                DataRow row3 = dt.NewRow();
                row3["id"] = 3;
                row3["navgationType"] = "热卖产品";
                row3["typename"] = "CCC";
                dt.Rows.Add(row3);
                DataRow row4 = dt.NewRow();
                row4["id"] = 4;
                row4["navgationType"] = "产品分类";
                row4["typename"] = "DDD";
                dt.Rows.Add(row4);
                DataRow row5 = dt.NewRow();
                row5["id"] = 5;
                row5["navgationType"] = "多加一个";
                row5["typename"] = "EEE";
                dt.Rows.Add(row5);            Console.WriteLine(GetHtml(dt));
                Console.Read();
            }        /// <summary>
            /// 递归拼接html
            /// </summary>
            /// <param name="dt"></param>
            /// <returns></returns>
            public static string GetHtml(DataTable dt)
            {
                //没有数据间直接返回掉
                if (dt.Rows.Count <= 0)
                {
                    return "";
                }            StringBuilder sb = new StringBuilder();
                //取得表的第一个类别
                string navgationType = Convert.ToString(dt.Rows[0]["navgationType"]);
                int index = 1;            DataRow[] rows = dt.Select("navgationType='" + navgationType + "'");            sb.Append("<dd>");
                for (int i = 0, count = rows.Length; i < count; i++)
                {
                    //取第一条的类别
                    if (index++ == 1)
                    {
                        sb.Append(rows[i]["navgationType"]);
                    }
                    sb.AppendFormat("<span>{0}</span>", rows[i]["typename"]);                //移除已经取过的记录
                    dt.Rows.Remove(rows[i]);
                }
                sb.Append("</dd>\r\n");            //有数据时才进行递归拼接
                if (dt.Rows.Count > 0)
                {
                    sb.Append(GetHtml(dt));
                }            return sb.ToString();
                
            }     
        }
    你可以把你拼接html的方式直接输出到前台
    <%= GetHtml()%>