Visible='<%#Eval("Return")=="False"?false:true %>'所绑定的是数据库返回的bit类型的字段。好像无论数据库返回true或false,都判断为不等于"False"的。。请指教!~~~~

解决方案 »

  1.   

    Visible='<%#Eval("Return").tostring()%>'
    这样试下了
      

  2.   

    Visible='<%#(bool)Eval("Return")%>'
      

  3.   

    Eval("Return").ToString().Equals("False")?false:true 
      

  4.   


    SQL Server的bit,默认地.net作为bool型处理,跟字符串"False"比较肯定永远也不会相同的。
      

  5.   


    只需要楼上这样就行了。或者 Visible='<%# Convert.ToBoolean(Eval("Return"))%>'
    不需要你再用三元判断了
    Eval()是通过反射实现的,出来的类型是object的,无法与你的"False"之间进行隐式转换,自然永远都是False了