日期:2014-05-20  浏览次数:20422 次

为什么只显示一条数据??
C# code

BLL层
 /// <summary>
        /// 获取数据列表
        /// </summary>
        /// <param name="dt"></param>
        /// <returns></returns>
        public List<MODEL.AA> DataTableToList(DataTable dt)
        {
            List<MODEL.AA> modellist = new List<MODEL.AA>();
            int rowscount = dt.Rows.Count;
            if (rowscount > 0)
            {
                MODEL.AA model;
                for (int n = 0; n < rowscount;n++ )
                {
                    model = new MODEL.AA();
                    if (dt.Rows[n]["id"].ToString() != null)
                    {
                        model.id= int.Parse(dt.Rows[n]["id"].ToString());
                    }
                    model.name= dt.Rows[n]["name"].ToString();
                    model.Model = dt.Rows[n]["Model"].ToString();
                    modellist.Add(model);
                }
            }
            return modellist;
        }

页面:
        private BLL.BB btp = new BLL.BB();
        private MODEL.AA mtp = new MODEL.AA();
        protected void Page_Load(object sender, EventArgs e)
        {
            DataTable dt = btp.GetFull(10).Tables[0];//获取数据
            foreach (MODEL.AA ss in btp.DataTableToList(dt))
            {
                string id = ss.id.ToString();
                string name= ss.name.ToString();
                string model = ss.Model.ToString();
                Label1.Text = id;
                Label2.Text = name;
                Label3.Text = model;
                
            }




运行以后只显示最后一条数据不是现实说有的数据,请问这是原因

------解决方案--------------------
Label1.Text = id;
Label2.Text = name;
Label3.Text = model;
你这样写只是把最后一条的值给Label了啊。
------解决方案--------------------
Label1.Text+ = id+ "\r\n ";
Label2.Text+ = name+ "\r\n ";
Label3.Text+ = model+ "\r\n ";

------解决方案--------------------
Label1.Text += id;
Label2.Text += name;
Label3.Text += model;
------解决方案--------------------
你这是狗熊掰玉米,掰了很多,但是手里始终只有一个
------解决方案--------------------
最后一条把前面的都给覆盖了。一个lable只能保存一个值。除非向上面的人写的那样 lable.Text+="你的值";
这种问题 基本上调试一下就能够解决问题的了~
------解决方案--------------------
for (int n = 0; n < rowscount;n++ )
{
MODEL.AA model = new MODEL.AA();
试试?