运行UserPaper.aspx.cs 第232行出错
发表在ASP.NET图书答疑 2009-11-26
是否精华
版块置顶:
《ASP.NET典型模块大全》第5章,在线考试系统,当运行到 UserPaper.aspx.cs第232行时出错.
 "if (bool.Parse(((Label)dr.FindControl("Label11")).Text.Trim())) 该字符串未被识别为有效的布尔值。"
不知该怎样解决。
忘在这里能得到答案,谢谢各位
其错误载图见邮箱(mingrisoft@mingrisoft.com)附件Word文档。
分享到:
精彩评论 6
Confidence2009
学分:0 LV1
2009-11-27
沙发
这是光盘中源代码出现的错误?还是你更改后出现的错误?请说明下。对于读者的二次开发,我们只给一些建议性的东西!
Confidence2009
学分:0 LV1
2009-11-27
板凳
if (bool.Parse(((Label)dr.FindControl("Label11")).Text.Trim())) 其中
(Label)dr.FindControl("Label11")).Text.Trim()这里主要是应用FindControl方法来查找放置在

GridView模板列中的id为Label11的Label控件,然后获取其Label的值,并通过bool.Parse强制转换为

bool布尔类型,所以这里转换的时候一定要确定是否在数据类型转换范围内!
例如,不能将一个long转换成bool。因为没有定义这样的转型运算符,所以编译器不允许这样的转型。
分析下: 
如何把string类型转换为bool类型 
本来在CTS中string和bool类型是不可以相互转换的 
为什么? 
因为不仅仅因为一个是值类型,一个是引用类型 
更重要是因为两者的存储方式从根本上说就不一致 
但为什么有些情况下可以转换呢,比如string为false或False。。。True等
对于,bool.Parse解释如下: 
每个数值数据类型都包含一个Parse()方法,它允许将字符串转换成对应的数值类型。
rjzhang
学分:0 LV1
2009-11-27
地板
[FIELDSET][LEGEND]引自:1楼[/LEGEND]
这是光盘中源代码出现的错误?还是你更改后出现的错误?请说明下。对于读者的二次开发,我们只给一些建议性的东西!
[/FIELDSET]

回复:
  光盘原代码出错
Confidence2009
学分:0 LV1
2009-11-27
4L
这里的id为Label11的Label控件所绑定的是UserAnswermr这个表中的“UserAnswer”这个字段,Label11是用在在线考试题型中的判断题的,你查看下数据库中该字段UserAnswer存储判断题的字段值,是否为True或False!
UserAnswer设置的字段类型为NvarChar,在存储判断题答案时存储的是True或False值,这样应用bool.Parse(((Label)dr.FindControl("Label11")).Text.Trim())才会实现将字符串类型转换成布尔类型,这个程序的数据库请保证是从光盘中拷贝出来的,请不要自已更改!
rjzhang
学分:0 LV1
2009-11-27
5L
[FIELDSET][LEGEND]引自:4楼[/LEGEND]
这里的id为Label11的Label控件所绑定的是UserAnswermr这个表中的“UserAnswer”这个字段,Label11是用在在线考试题型中的判断题的,你查看下数据库中该字段UserAnswer存储判断题的字段值,是否为True或False!
UserAnswer设置的字段类型为NvarChar,在存储判断题答案时存储的是True或False值,这样应用bool.Parse(((Label)dr.FindControl("Label11")).Text.Trim())才会实现将字符串类型转换成布尔类型,这个程序的数据库请保证是从光盘中拷贝出来的,请不要自已更改!
[/FIELDSET]

回复:的确是光盘原程序错,我将“if (bool.Parse(((Label)dr.FindControl("Label11")).Text.Trim()))”
改为 “if (((Label)dr.FindControl("Label11")).Text.Trim()=="True")”问题得到解决。
  
Confidence2009
学分:0 LV1
2009-11-30
6L
我这测试是没有问题的,至于在那你出现的问题我测试不出来,你把数据库的相应字段好好看下,还有如果程序出现了问题你可以插入下断点自己好好看下,你要学着自己解决问题!
首页上一页 1 下一页尾页 6 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照