当前位置:编程学习 > C#/ASP.NET >>

请问,在同一页面,不能分两次为多个linkbutton控件循环赋值么,第一次循环可以,第二次循环就报错了,在线等,急

出错的是我第二次用循环赋值
如果把这第二段 隐藏 那么第一段循环赋值 还是运行正常的
下面是代码。谢谢大家。
第一次的循环的 linkbutton 的id是LKdalei1,LKdaleiL2,Kdalei3,LKdalei4·····共20个
第二次的循环的 linkbutton 的id是LKxiaolei1,LKxiaolei2,LKxiaolei3·······共8个
我的select 语句是没有问题的,在线等,急



************第一次循环***************第一次循环*******************第一次循环******************** 

       
        SqlDataAdapter sdr2 = new SqlDataAdapter("select ParentClassID,ParentClass from ParentClass ", con);
        DataSet ds2 = new DataSet();
        sdr2.Fill(ds2,"dalei");
        for (i = 0; i < 20; i++)
        {
            LinkButton btn = new LinkButton();
            btn = (LinkButton)this.Page.FindControl("LKdalei" + (i + 1).ToString());
            btn.Text = ds2.Tables[0].Rows[i][1].ToString(); 
            btn.PostBackUrl = "~/xiangxi.aspx?ParentClassID=" + ds2.Tables[0].Rows[i][0].ToString(); 
        }

    *********第二次循环******************第二次循环*****************第二次循环******************

            SqlDataAdapter sdr3 = new SqlDataAdapter("select SonClassName,SonClassID  from SonClass where ParentClassID=1 ", con);
            DataSet ds3 = new DataSet();
            sdr3.Fill(ds3, "xiaolei");
            for (i = 0; i < 8; i++)
            {
                LinkButton btna = new LinkButton();
                btn = (LinkButton)this.Page.FindControl("LKxiaolei" + (i + 1).ToString());
                btn.Text = ds3.Tables[0].Rows[i][0].ToString();  //此处报错,为讲对象引用到设置的实例!
                btn.PostBackUrl = "~/xiangxi.aspx?ParentClassID=" + ds2.Tables[0].Rows[i][1].ToString();
            }        --------------------编程问答-------------------- 错误描述是怎样的?
注意两次取的控件是不一样的噢。 --------------------编程问答--------------------

    SqlDataAdapter sdr3 = new SqlDataAdapter("select SonClassName,SonClassID  from SonClass where ParentClassID=1 ", con); 
            DataSet ds3 = new DataSet(); 
            sdr3.Fill(ds3, "xiaolei"); 
            for (i = 0; i < 8; i++) 
            { 
                LinkButton btna = new LinkButton(); 
                btn = (LinkButton)this.Page.FindControl("LKxiaolei" + (i + 1).ToString()); 
                btn.Text = ds3.Tables[0].Rows[i][0].ToString();  //此处报错,为讲对象引用到设置的实例! 
                btn.PostBackUrl = "~/xiangxi.aspx?ParentClassID=" + ds2.Tables[0].Rows[i][1].ToString(); 
            }     

 有可能出错的原因有两个:
1.判断btn是不是没有找到;是不是btn现在是null值;
2.第二次循环时,i=0时就抱错还是i已经循环多次后才抱错,是不是由于ds3数据集的纪录不够导致的;就是说纪录集的纪录数量小于8;确定一下是不是纪录集的问题
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,