日期:2014-05-17  浏览次数:20512 次

一次搜索结果,分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)
            {
          &nb