我的项目是关于在线资质测试系统。当我执行开始考试页面时,问题会显示但是答案没有提交。
当我点击提交按钮时,我在if(ds1.Tables[0].Rows.Count>0)
上收到错误,当我点击“{1}}
错误: - if(i==ds.Tables[0].Rows.Count-1 || i !=0)
我可以弄清楚我在哪里弄错了。看一下代码,告诉我哪里出错了,解决方案是什么。
.aspx.cs: -
object reference not set to an instance of an object
答案 0 :(得分:0)
如果对象为null,则无法访问对象的属性。例如:
string Foo = null;
Console.WriteLine(Foo.Length); // null reference exception!
这是您的代码中发生的事情,除了DataTable
。我怀疑你的查询没有返回结果,所以当你这样做时:
if (ds.Tables[0].Rows.Count > 0)
... Rows
属性为null。您无法在null上访问Count
。
你必须做更多努力的空检查:
if(ds.Tables != null)
{
if(ds.Tables[0].Rows != null)
{
//now you can be sure you can access `Count`
{
}
其他纪念活动:
正如Henk所提到的那样,Timer
不会像你想象的那样工作。这不是桌面应用程序,它是无状态客户端/服务器应用程序。一旦响应发送到客户端,您就失去了以这种方式与会话进行交互的能力。
重定向的正确方法是:
Response.Redirect(url, false);
Context.ApplicationInstance.CompleteRequest();