昨天,在一个项目中,要用到Repeater循环获取值,然后根据某个字段的值进行判断,以决定是否需要添加某个样式。之前用的<%#Eval("Name").ToString()==name?"是":"否”%>,其中name为.cs页面一个公共string类型的变量,Name为数据库里表的一个nvarchar(50)类型的字段。通过调试发现数据源中的数据其实是和name的值相等的,但是判断的值一直是"否"。后来,百度找到的方案是改成:<%#Eval("Name").Equals(name)?"是":"否”%>,这样判断的值就可以按所期待的拿到。
最终效果图:
为什么可以用:<%#Eval("Name").Equals(name)?"是":"否”%>,却不能用<%#Eval("Name").ToString()==name?"是":"否”%>,难道要考虑Equals和==的区别?
原文地址:http://www.cnblogs.com/milovetingting/p/3832915.html