gridview模板列的问题
<asp:TemplateField>
<ItemTemplate>
<%# (string)Eval("MailReaded") == "0" ? "<img src='../images/mailClose.gif'>" : "<img src='../images/mailopen.gif'>"%>
</ItemTemplate>
</asp:TemplateField>
想实现这样的功能:
Eval("MailReaded") 是查询数据库中的字段MailReaded字段,值是0的时候显示mailClose.gif,为1的时候显示mailopen.gif
但是运行的时候出错:
“无法将类型为“System.Boolean”的对象强制转换为类型“System.String”。”
把(string)Eval("MailReaded") 里的(string)去掉,不管数据库中的值是什么,显示的永远都是mailClose,请问这是怎么回事。 --------------------编程问答-------------------- 最好在后台处理,参考: http://blog.chinaunix.net/uid-9847882-id-1996606.html --------------------编程问答-------------------- (string)Eval("MailReaded") == "0" 换成
Eval("MailReaded").tostring() == "0"
--------------------编程问答--------------------
不行,不管数据库里的mailreaded的值是0还是1,这里都当成1了,一直显示mailopen.gif --------------------编程问答-------------------- “无法将类型为“System.Boolean”的对象强制转换为类型“System.String”。”
注意这句,应该是Boolean,那就不可能是0或者1,应该是true或者false,你看看数据库里字段是什么格式
补充:.NET技术 , C#