if (dt.Rows.Count > 0);错误

“/asp”应用程序中的服务器错误。未将对象引用设置到对象的实例。说明:执行当前Web请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的... “/asp”应用程序中的服务器错误。

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

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

源错误:

行 109: string id = ((HiddenField)(DataList1.Items[i].FindControl("hidGenID1"))).Value;
行 110: DataTable dt = (DataTable)ViewState["dt"];
行 111: if (dt.Rows.Count > 0);
行 112: DataRow[] row1 = dt.Select("id=" + id);
行 113: //计算单选题成

源文件:
d:\asp\QianUser\StartExamfra.aspx.cs 行: 111

请问这个错误怎么处理呢?
展开
 我来答
吾爱免费资源分享平台
2013-07-11 · TA获得超过126个赞
知道小有建树答主
回答量:234
采纳率:33%
帮助的人:105万
展开全部

首先,看到这个问题是出现在111行,所以,建议在调试时 111行那里设置断点。
在运行,看一下dt是否为null。

如果为空,最好是检查一下之前为什么能取到空,我想你的程序应该也不是想要取出来的值为空。

但是,如果有空的可能性存在,那后面的判断肯定就不能这么写。

试一下下面的代码:

if (dt!=null)
{
    if (dt.Rows.Count > 0);
    {
      //处理逻辑
      //.......
    }
}

希望能帮到你。

更多追问追答
追问
源错误: 
行 119: }
行 120: }
行 121: DataRow[] row1 = dt.Select("id=" + id);
行 122: //计算单选题成

     行: 121
追答
DataRow[] row1 = dt.Select("id= '"+ id+"'");
仰望_星空_杰
2013-07-10
知道答主
回答量:13
采纳率:0%
帮助的人:6.5万
展开全部
有没有可能是 (DataTable)ViewState["dt"]; 获得的内容为Null 呢 ,

改成这样如何:
if (dt!=null && dt.Rows.Count > 0)
DataRow[] row1 = dt.Select("id=" + id);
更多追问追答
追问
编译器错误消息: 
CS1023: 嵌入的语句不能是声明或标记语句
源错误:
行 111: if (dt!=null && dt.Rows.Count > 0) ;
行 112: DataRow[] row1 = dt.Select("id=" + id);
行: 112
追答
if (dt!=null && dt.Rows.Count > 0)  后面应该不加 分号 吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
micro0369
2013-07-10 · TA获得超过1.2万个赞
知道大有可为答主
回答量:9250
采纳率:85%
帮助的人:4054万
展开全部
多了一个分号啊,去掉试试:

if (dt.Rows.Count > 0)
追问
去掉分号就下面那句出错
追答
呵呵,那你继续解决下一个问题。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
miniapphhb6iwio7i83d
2013-07-10 · 超过18用户采纳过TA的回答
知道答主
回答量:451
采纳率:0%
帮助的人:111万
展开全部
试试 if(dt.rows.count !=null)
更多追问追答
追问
用这个 if(dt.rows.count !=null)还是出错
追答
设断点 把断点放在110行 看得到的dt是什么
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友780c2a5
2013-07-10 · 超过43用户采纳过TA的回答
知道小有建树答主
回答量:129
采纳率:0%
帮助的人:110万
展开全部
 DataTable dt = (DataTable)ViewState["dt"] ?? new DataTable();
追问
是用这句替换吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式