当前位置: 代码迷 >> ASP.NET >> 无法将system.decimal强制转换为类型system.string解决思路
  详细解决方案

无法将system.decimal强制转换为类型system.string解决思路

热度:1371   发布时间:2013-02-25 00:00:00.0
无法将system.decimal强制转换为类型system.string
从数据库读出数据绑定到repeater中,如绑定字段<%#Eval("Charge")%>,后台读数据是用的linq,这个还不熟悉,Charge字段是decimal类型的,读出来没有进行转换,运行就出现如题错误。然后我在前台后台都进行测试,转化为string类型:
前台:<%#Eval("Charge").toString()%>
后台:Charge.toString()
或者全用Convert.ToString(),都是出错。
不知道这个地方如何转换?另,linq读出的数据,如果重名怎么使用as重新命名?

------解决方案--------------------------------------------------------
前台:<%#getName(Eval("Charge"))%>
后台:
加一个方法
public String getName(object charge)
{
return charge.ToString();


------解决方案--------------------------------------------------------
检查一下值有没有null的情况。null tostring肯定是要报错的
------解决方案--------------------------------------------------------
<%#Eval("Charge")==null?"0":Eval("Charge")%>这样呢

------解决方案--------------------------------------------------------

<%# Convert.ToDecimal(Eval("Charge")).toString()%>
试试
  相关解决方案