为什么会出现这个错误
//页面代码(dlComment是DataList)
  protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            
            DisplayComment(int.Parse(Request.QueryString["Id"].ToString()));
        }
    }
    protected void DisplayComment(int id)
    {
      
        dlComment.DataSource =BooksRatingsManager.GetBookRatingsInfo(id);
        dlComment.DataBind();
    }
//业务逻辑
 public static List<BooksRatings> GetBookRatingsInfo(int bid)
        {
            return BooksRatingsService.GetBookRatingsInfo(bid);
        }
//数据层
public static List<BooksRatings> GetBookRatingsInfo(int bid)
       {
           string sql=String.Format("SELECT * FROM BookRatings WHERE BookId='{0}'",bid);
           return BooksRatingsService.GetBooksRatingsBySql(sql);
       }       private static List<BooksRatings> GetBooksRatingsBySql(string sql)
       {
           List<BooksRatings> list = new List<BooksRatings>();
            DataTable table = DBHelper.GetDataSet(sql);
            foreach (DataRow row in table.Rows)
            {
                BooksRatings br=new BooksRatings ();
                 br.Bookid=(int)row["Bookid"];
                 br.Comment=(string)row["Comment"];
                 br.Id=(int)row["Id"];
                br.Rating=(int)row["Rating"];
                list.Add(br);
            }
            return list;
           }
       }
    }

解决方案 »

  1.   

     DisplayComment(int.Parse(Request.QueryString["Id"].ToString())); 像这些东西,一定要首先判断他是否存在。然后才能用if(Request.QueryString["Id"]!=null)
    {
       DisplayComment(int.Parse(Request.QueryString["Id"].ToString())); 
    }
      

  2.   

     DataTable table = DBHelper.GetDataSet(sql); 
                foreach (DataRow row in table.Rows) 
                { 
                    BooksRatings br=new BooksRatings (); 
                    br.Bookid=(int)row["Bookid"]; 
                    br.Comment=(string)row["Comment"]; 
                    br.Id=(int)row["Id"]; 
                    br.Rating=(int)row["Rating"]; 
                    list.Add(br); 
                } 
    ---------------
    这些也一样,首先要判断这个Table的Rows.count>0
      

  3.   

    调试一下,看那个变量的值为Null,引用变量用之前,最好判断一下是否为null
      

  4.   

    又是典型的要取的值为NULL的问题
    自己好好检查检查吧
      

  5.   

    DisplayComment(int.Parse(Request.QueryString["Id"].ToString())); 
    这个地方可能有问题,你必须能够保证request.querystring["id"]有值,所以你要先判断一下!!