写了个代码,出现如下错误,帮助解决一下,谢谢!
private void Board()
  {
   string Sqlc,Sqlb;
   Sqlc="select * from [Class] where Isdel=0";
   OleDbDataReader resultc=GetList(Sqlc);
   dlfcList.DataSource=resultc;
   dlfcList.DataBind();
   resultc.Close();
   for (int j=0;j<dlfcList.Items.Count;j++)
   {
    Label labClassName=(Label)dlfcList.Items[j].FindControl("labClassName");
    Label labClassID=(Label)dlfcList.Items[j].FindControl("labClassID");    
    Sqlb="select * from [Board] where Isdel=0 or Hidden=0 and ClassID="+labClassID.Text;
    OleDbDataReader resultb=GetList(Sqlb);
    dlfbList.DataSource=resultb;
    dlfbList.DataBind();
    for (int i=0;i<dlfbList.Items.Count;i++)
    {
     Label labBoardName=(Label)dlfbList.Items[i].FindControl("labBoardName");
     Label labReadme=(Label)dlfbList.Items[i].FindControl("labReadme");
     Label labLastPostTitle=(Label)dlfbList.Items[i].FindControl("labLastPostTitle");
     Label labLastPostUser=(Label)dlfbList.Items[i].FindControl("labLastPostUser");
     Label labLastPostDate=(Label)dlfbList.Items[i].FindControl("labLastPostDate");
     Label labAdmin=(Label)dlfbList.Items[i].FindControl("labAdmin");
     Label labLastTodayNum=(Label)dlfbList.Items[i].FindControl("labLastTodayNum");
     Label labLastbbsNum=(Label)dlfbList.Items[i].FindControl("labLastbbsNum");
     Label labLastTopicNum=(Label)dlfbList.Items[i].FindControl("labLastTopicNum");未将对象引用设置到对象的实例。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误: 
行 289: Sqlb="select * from [Board] where Isdel=0 or Hidden=0 and ClassID="+labClassID.Text;
行 290: OleDbDataReader resultb=GetList(Sqlb);
行 291: dlfbList.DataSource=resultb;
行 292: dlfbList.DataBind();
行 293: for (int i=0;i<dlfbList.Items.Count;i++)
 源文件: f:\inetpub\wwwroot\zstudiocn\members\index.aspx.cs    行: 291

解决方案 »

  1.   

    上面的原因找到了,只是无法按照分类分别显示,代码如下
    private void Board()
    {
    string Sqlc,Sqlb;
    Sqlc="select * from [Class] where Isdel=0";
    OleDbDataReader resultc=GetList(Sqlc);
    dlfcList.DataSource=resultc;
    dlfcList.DataBind();
    resultc.Close();
    for (int j=0;j<dlfcList.Items.Count;j++)
    {
    Label labClassName=(Label)dlfcList.Items[j].FindControl("labClassName");
    Label labClassID=(Label)dlfcList.Items[j].FindControl("labClassID");
    Sqlb="select BoardName,Readme,LastPostTitle,LastPostUser,LastPostDate,Admin,LastTodayNum,LastbbsNum,LastTopicNum from [Board] where Isdel=0 or Hidden=0 and ClassID="+labClassID.Text;

    DataList dlfbList=(DataList)dlfcList.Items[j].FindControl("dlfbList");
    OleDbDataReader resultb=GetList(Sqlb);
    dlfbList.DataSource=resultb;
    dlfbList.DataBind();
    for (int i=0;i<dlfbList.Items.Count;i++)
    {
    Label labBoardName=(Label)dlfbList.Items[i].FindControl("labBoardName");
    Label labReadme=(Label)dlfbList.Items[i].FindControl("labReadme");
    Label labLastPostTitle=(Label)dlfbList.Items[i].FindControl("labLastPostTitle");
    Label labLastPostUser=(Label)dlfbList.Items[i].FindControl("labLastPostUser");
    Label labLastPostDate=(Label)dlfbList.Items[i].FindControl("labLastPostDate");
    Label labAdmin=(Label)dlfbList.Items[i].FindControl("labAdmin");
    Label labLastTodayNum=(Label)dlfbList.Items[i].FindControl("labLastTodayNum");
    Label labLastbbsNum=(Label)dlfbList.Items[i].FindControl("labLastbbsNum");
    Label labLastTopicNum=(Label)dlfbList.Items[i].FindControl("labLastTopicNum");
    }
    resultb.Close();
    } }为什么不能按分类显示,即循环嵌套,为何内层循环的循环次数不能根据上层内规定的次数,上层的次数的写法不对?