无法将类型为“System.DBNull”的对象强制转换为类型“System.String,怎么办?

在GridView空间中添加<asp:LabelID="Label1"runat="server"><%#NewStr1.getString(((string)Eval(... 在GridView空间中添加<asp:Label ID="Label1" runat="server" ><%# NewStr1.getString(((string)Eval("p_countions")))%></asp:Label>,就出现以上错误,怎么办? 展开
 我来答
newman325
推荐于2017-11-25 · 超过32用户采纳过TA的回答
知道答主
回答量:71
采纳率:0%
帮助的人:77.1万
展开全部
很明显,(string)Eval("p_countions")转换错误。Eval("p_countions")的结果是System.DBNull,而System.DBNull不能执行强制类型转换的,如果只是看结果,用Eval("p_countions").ToString()却不会报错,它返回空。当前你可以先判断再转换了
zengxiaosyz
2012-11-01 · 超过30用户采纳过TA的回答
知道答主
回答量:152
采纳率:0%
帮助的人:75.4万
展开全部
判断Eval("p_countions")是否为System.DBNull
是则直接赋空字符串
追问
谢谢,我知道错误所在了,是因为数据表中有一行是空行
追答
这个错误是数据表的空行引起的,
但是在程序里要做到能兼容这种错误,
所以还是要在程序里进行数据为空处理的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
最后的仙人
2012-11-01 · TA获得超过1961个赞
知道大有可为答主
回答量:1509
采纳率:0%
帮助的人:1397万
展开全部
(string)Eval("p_countions")
改为
Eval("p_countions").ToString()
试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我至少还有娇
2012-11-01 · TA获得超过100个赞
知道小有建树答主
回答量:210
采纳率:100%
帮助的人:96.8万
展开全部
它可为空,需要获得它的Value
追问
那怎么修改呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式