请教:System.InvalidCastException: 指定的转换无效。
我定义的格式化函数:
public String FormatBody(String sBoby)
{
return (sBoby.Replace("\n","<br>"));
}
在数据库中定义的Body为varchar(2000)的列名。
但当运用语句FormatBody((String)DataBinder.Eval(Container.DataItem,"Body")) 对Body进行格式化时,调试没有什么问题,但在编译时,出现“System.InvalidCastException: 指定的转换无效”请求帮助!
谢谢!
问题点数:10、回复次数:6Top
1 楼songxiaozhao(雨朋)回复于 2006-03-13 15:24:44 得分 1
试试下面这条语句
<%#FormatBody((String)(DataBinder.Eval(Container.DataItem,"Body")))%>Top
2 楼NeilChen123(木野狐)回复于 2006-03-13 15:29:35 得分 2
你用 ToString 而不是 (string) 强制转换试一下。
有可能你碰到了 DBNull.
Top
3 楼djwkele(文鹤)回复于 2006-03-13 15:30:24 得分 0
谢谢,我试了试,还是出现相同的情况。Top
4 楼djwkele(文鹤)回复于 2006-03-13 15:33:28 得分 0
<%# FormatBody((ToString)DataBinder.Eval(Container.DataItem,"Body")) %>
强制转换后出现:编译错误:“object.ToString()”表示“方法”,此处应为“类”Top
5 楼Lcindep110(Descovering YourSelf)回复于 2006-03-13 15:40:42 得分 4
用强制转换试试
<%# FormatBody(Convert.ToString(DataBinder.Eval(Container.DataItem,"Body"))) %>Top
6 楼NeilChen123(木野狐)回复于 2006-03-13 15:53:07 得分 3
我说的是这样写:
<%# FormatBody(DataBinder.Eval(Container.DataItem,"Body").ToString()) %>
Top




