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

VS空数据时报错,求高手解析
// gridView 绑定后触发的事件(DataBound事件)
  public void NewPage(object sender, EventArgs e)
  {
  GridViewRow pagerRow = GridView1.BottomPagerRow;
  DropDownList pageList =
  (DropDownList)(pagerRow.Cells[0].FindControl("myDropDownList"));
  Label pageLabel = (Label)(pagerRow.Cells[0].FindControl("lblPageLabel"));
  for (int i = 0; i < GridView1.PageCount; i++)
  {
  int pageNumber = i + 1;
  ListItem item = new ListItem(pageNumber.ToString());
  if (i == GridView1.PageIndex) item.Selected = true;
  pageList.Items.Add(item);
  }

  int currentPage = GridView1.PageIndex + 1;
  pageLabel.Text = "Page " + currentPage.ToString() +
  " of " + GridView1.PageCount.ToString();
  }





错误信息
未将对象引用设置到对象的实例。 
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。

源错误: 


行 54: {
行 55: GridViewRow pagerRow = GridView1.BottomPagerRow;
行 56: DropDownList pageList =
行 57: (DropDownList)(pagerRow.Cells[0].FindControl("myDropDownList"));
行 58: Label pageLabel = (Label)(pagerRow.Cells[0].FindControl("lblPageLabel"));
 

源文件: e:\CSDN大二\项目\考勤系统\基于Web的学生作业管理系统源码(带论文文档)(1)\基于Web的学生作业管理系统源码(带论文文档)\项目代码\基于WEB作业管理系统\WEB\teacher\settinghomework.aspx.cs 行: 56 

堆栈跟踪: 


[NullReferenceException: 未将对象引用设置到对象的实例。]
  teacher_settinghomework.NewPage(Object sender, EventArgs e) in e:\CSDN大二\项目\考勤系统\基于Web的学生作业管理系统源码(带论文文档)(1)\基于Web的学生作业管理系统源码(带论文文档)\项目代码\基于WEB作业管理系统\WEB\teacher\settinghomework.aspx.cs:56
  System.Web.UI.WebControls.BaseDataBoundControl.OnDataBound(EventArgs e) +105
  System.Web.UI.WebControls.DataBoundControl.OnDataSourceViewSelectCallback(IEnumerable data) +154
  System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback) +33
  System.Web.UI.WebControls.DataBoundControl.PerformSelect() +143
  System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +74
  System.Web.UI.WebControls.GridView.DataBind() +4
  teacher_settinghomework.gridviewBind() in e:\CSDN大二\项目\考勤系统\基于Web的学生作业管理系统源码(带论文文档)(1)\基于Web的学生作业管理系统源码(带论文文档)\项目代码\基于WEB作业管理系统\WEB\teacher\settinghomework.aspx.cs:75
  teacher_settinghomework.Page_Load(Object sender, EventArgs e) in e:\CSDN大二\项目\考勤系统\基于Web的学生作业管理系统源码(带论文文档)(1)\基于Web的学生作业管理系统源码(带论文文档)\项目代码\基于WEB作业管理系统\WEB\teacher\settinghomework.aspx.cs:24
  System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
  System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
  System.Web.UI.Control.OnLoad(EventArgs e) +91
  System.Web.UI.Control.LoadRecursive() +74
  System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2207

 

求解决! 只是刚刚创建的用户!但是点什么都出错!有数据的不会出错!

------解决方案--------------------
DropDownList pageList = pagerRow.FindControl("myDropDownList") as DropDownList;
if(pageList != null)
{
//执行
}
数据集的应用讨论解决思路