当前位置:编程学习 > C#/ASP.NET >>

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"
  --------------------编程问答--------------------
引用 2 楼 zunmaxiake 的回复:
(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#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,