日期:2014-05-18  浏览次数:20527 次

指定的转换无效(内附代码)
页面中使用模板列,放了一个image控件,
目的是显示已读或未读信息时用不同的图片

image控件属性设置如下
ImageUrl= ' <%#   GetStatusImage((int)(DataBinder.Eval(Container.DataItem,   "IsRead ")))   %>

使用到的GetStatusImage函数如下:
protected   string   GetStatusImage(int   isRead)
                {
                        string   ret   =   @ "Images\page\flow_status_newnormal.gif ";
                        if   (isRead   ==   1)
                                ret   =   @ "Images\page\flow_status_normal.gif ";
                        return   ret;
                }
但是当我的数据库中没有数据的时候,ImageUrl= ' <%#   GetStatusImage((int)(DataBinder.Eval(Container.DataItem,   "IsRead ")))   %> 就会报错,说指定的转换无效,我该怎样解决呢?


------解决方案--------------------
不要先强制类型转换,用下面的方式试试
protected string GetStatusImage(object isRead)
{
int a
if( int.parse( isRead.tostring() , out a ))
{
......
}

}

------解决方案--------------------
protected string GetStatusImage(object isRead)
{
if(null !=isRead)
{
}//转换
}
------解决方案--------------------
同意ls
------解决方案--------------------
晕啊,加个 空判断,或者加个其他规则判断就行了,做程序的要勤劳