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

一次搜寻结果,分3个Repeater显示

2013-01-19 
一次搜索结果,分3个Repeater显示我一次性搜索30个商品 : select top 30 ID,Title,ImgPath from Product保

一次搜索结果,分3个Repeater显示
我一次性搜索30个商品 : select top 30 ID,Title,ImgPath from Product
保存再DataSet里面,页面程序中需要把这30行数据分成3个Repeater控件绑定显示,怎么才能有效的给他们分开呢?目前仅粗略的实现了这样的需求,但感觉很繁琐,有没有好点的办法呢?
我是这样想的:
1.数据库读取30行保存至DataSet
2.遍历DataSet.Table
3.遍历后保存在List里面,在绑定在Repeater控件


string sql = "select top 30 ID,Title,Src from Products";
var modelList = WebApp.DAL.DBHelper.Query(sql).Tables[0];
 for (int i = 1; i < modelList.Rows.Count; i++)
        {
            if (i<=10)
            {
                List<Products> modelList_1 = new List<Products>();
                Products model = new Products();
                model.ID=int.Parse(modelList.Rows[i]["ID"].ToString());
                model.Title = modelList.Rows[i]["ID"].ToString();
                model.Src = modelList.Rows[i]["Src"].ToString();
                modelList_1.Add(model);
                Repeater_1.DataSource = modelList_1;
                Repeater_1.DataBind();
            }
            if (i <= 20 && i > 10)
            {
                List<Products> modelList_2 = new List<Products>();
                Products model = new Products();
                model.ID = int.Parse(modelList.Rows[i]["ID"].ToString());
                model.Title = modelList.Rows[i]["ID"].ToString();
                model.Src = modelList.Rows[i]["Src"].ToString();
                modelList_2.Add(model);
                Repeater_2.DataSource = modelList_2;
                Repeater_2.DataBind();
            }
            if (i <= 30 && i>20)
            {
                List<Products> modelList_3 = new List<Products>();


                Products model = new Products();
                model.ID = int.Parse(modelList.Rows[i]["ID"].ToString());
                model.Title = modelList.Rows[i]["ID"].ToString();
                model.Src = modelList.Rows[i]["Src"].ToString();
                modelList_3.Add(model);
                Repeater_3.DataSource = modelList_3;
                Repeater_3.DataBind();
            }
        }


[解决办法]
重构。。
恩。。。好办法之一。。

热点排行