日期:2014-05-18  浏览次数:20497 次

晕啊,快来看看
protected void get_city()
  { City ci = new City(); 
  DataSet ds1 = ci.show_city();
  foreach (GridViewRow gv in this.GridView1.Rows)
  {
  DropDownList dr = (DropDownList)gv.FindControl("C_name");  
  dr.DataSource = ds1.Tables[0];//未将对象引用设置到对象的实例  
  dr.DataTextField = "C_name";
  dr.DataValueField = "C_id";
  dr.DataBind();
   
  }
  ds1.Dispose();
  }
 未将对象引用设置到对象的实例!!! 这是怎么回事啊?没找到控件吗????
 在GRIDVIEW中有个Dropdownlist ID为C_name

------解决方案--------------------
楼主,如果你要让你妹妹的老公借你500块钱你要怎么去思维这件事情呢?首先你是不是要看你有没有妹妹阿,如果你有妹妹你还要向她结婚没,如果你有妹妹了她也结婚了你才能考虑让她老公借你钱的可能性是吧?如果前提都不存在就考虑是否能借到钱显然逻辑上就是错误的。

那么同样,编译器看见类似于ds1.Tables[0]这样的东西的时候首先会看ds1是否存在,如果不存在或者为Null那就不谈后面的.Table了,所以当你写.这个运算符的时候心里加个小心,不确定的时候一定要作个验证
if(ds1 != null)
{
。。。。
}