繁体   English   中英

你调用的对象是空的。 -c#-中继器-数据集

[英]Object reference not set to an instance of an object. - c# - Repeater - DataSet

在此处输入图片说明

嗨,上图显示了每次我过滤从创建的对象生成的DataTable时遇到的异常。

dtHistory = cBLRead.ds2.Tables [“ ScheduleHistory”]; ->这实际上填充了dtHistory。

dtHistory.DefaultView.RowFilter = string.Format(“ [[ExamScheduleID] in({0})”,hdnID) ->此行基于hdnID过滤行...

rptHistory已在我的ASP客户端中创建,并且直到用户单击位于另一个DataTable中的特定行之前,它将保持为空。

我固定了dtHistory.Rows.Count以显示dtHistory不为null

我将如何解决这个问题?

---这就是我想发生的事情----

每次用户单击DataTable中的特定考试行时,都会弹出一个模式,其中包含一个显示“重新安排考试历史记录”的Repeater。

模态工作正常,但我制作的中继器却不能。 造成此异常的主要原因可能是什么。

任何答复将不胜感激。 谢谢!

该异常并不意味着dtHistorynull而是rptHistorynull 然后,当您尝试取消引用它以访问它引发的DataSource属性时。

在屏幕快照中, ScheduleHistory方法似乎可疑:

ClaretExamSchedule callMethod = new ClaretExamSchedule();
callMethod.FilterHistory(hdnId);

您实例化一个新对象,然后调用FilterHistory方法,该方法将引发异常,因为rptHistory成员可能仍是统一的。

您应该像这样分配数据源

rptHistory.DataSource=dtHistory.Tables[0];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM