我之前查过这个问题发生的几种可能:
1、ViewState 对象为Null。
2、DateSet 空。
3、sql语句或Datebase的原因导致DataReader空。
4、声明字符串变量时未赋空值就应用变量。
5、未用new初始化对象。
6、Session对象为空。
但发现好像除第3种不确定外,其他都可以排除。
请大家帮忙看看:
出错信息:
未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。
源错误:
行 42:
行 43: //用DataGrid显示数据。
行 44: if (myDataSet.Tables["bbs_infomation"].Rows.Count != 0)
行 45: {
行 46: DataGrid1.DataSource = myDataSet.Tables["bbs_information"].DefaultView;
代码:
//用Connection 对象连接数据库。
string connStr = System.Configuration.ConfigurationSettings.AppSettings[\"connString\"];
SqlConnection myConnection = new SqlConnection(connStr);
//用DataAdapter对象访问数据表。
string queryStr = \"select * from bbs_information where parentid=0 order by datetime desc\";
SqlDataAdapter myDataAdapter = new SqlDataAdapter(queryStr, myConnection);//用DataSet存放数据表。
DataSet myDataSet = new DataSet();
myDataAdapter.Fill(myDataSet,\"bbs_information\");
//用DataGrid显示数据。
if (myDataSet.Tables[\"bbs_infomation\"].Rows.Count != 0)
{
DataGrid1.DataSource = myDataSet.Tables[\"bbs_information\"].DefaultView;
DataGrid1.DataBind();
}
else
{
Label1.Text += \"(目前没有任何留言)\";
}
}
protected void DataGrid1_PageIndexChanged(object source, DataGridPageChangedEventArgs e)
{
DataGrid1.CurrentPageIndex = e.NewPageIndex;
BindData();