问题描述
在datagrid的ItemDataBound事件中有如下程序:if(e.Item.Cells[14].Text.ToString()==""||e.Item.Cells[15].Text.ToString()==""){}else{if(e.Item.Cells[14].Text.ToString()=="0"||e.Item.Cells[15].Text.ToString()=="0"){}else{if(e.Item.Cells[14].Text==null||e.Item.Cells[15].Text==null){}else{Response.Write(e.Item.Cells[14].Text.ToString()+"&"+e.Item.Cells[15].Text.ToString());}}}打印出的结果如下,居然还有空格?怎么回事?15.56&15.20&&5.10aa5.10&&&&&&&&&&22.30&21.2031.73&31.73
解决方案
解决方案二:
说明e.Item.Cells[14].Text.ToString()既不=="",也不=="0",也不==null所以有空格不奇怪啊
解决方案三:
那我怎么排除这个空格啊?
解决方案四:
e.Item.Cells[14].Text.ToString()换成e.Item.Cells[14].Text.trim().ToString()
解决方案五:
不行
解决方案六:
建议可以在查询的时候直接用CASE判断...显示
解决方案七:
不是显示用,我要用这两列做运算,所以要排除掉一些非法的情况
解决方案八:
把空格替换掉用replace
解决方案九:
trim()去除前后空格
解决方案十:
这个里面写空格应该是 if(e.Item.Cells[14].Text.ToString()==" "¦¦e.Item.Cells[15].Text.ToString()==" "){}
解决方案十一:
呵呵,没想到他们PB存进库里的数据居然也会有这个" ,谢了!
解决方案十二:
你的代码写得太啰嗦,实在太啰嗦这样写好点:Stringc14=Server.HtmlDecode(e.Item.Cells[14].Text);Stringc15=Server.HtmlDecode(e.Item.Cells[15].Text);c14=c14==null?c14.Trim();c15=c15==null?c15.Trim();if(String.IsNullOrEmpty(c14)||String.IsNullOrEmpty(c15)||c14=="0"||c15=="0"){//donothing}else{Response.Write(c14+"&"+c15);}不论效率还是可读性都强很多.
解决方案十三:
估计这个 不是数据库里的,,而是页面上控件产生,PS:同意楼上的,代码可读性太差,,要优化一下