为什么会显示“指定的转换无效。”?

ynduanlian 2010-10-19 02:11:05
Datagrid,要根据一个时间值与当前时间的比较来确定是否以红色字体来显示该行数据:
语言用了VB.NET的IIF函数:

<asp:TemplateColumn>
<HeaderTemplate>到单时间</HeaderTemplate>
<ItemTemplate><asp:Label runat="server" ID="lblCreateDate" Text='<%# DataBinder.Eval(Container.DataItem,"Create_Date") %>' ForeColor='<%# IIF(DataBinder.Eval(Container.DataItem,"Create_Date")<Now(),"Red","black") %>' /></ItemTemplate>
</asp:TemplateColumn>

结果显示“指定的转换无效。”
...全文
824 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
村长_乐 2010-10-19
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 ynduanlian 的回复:]
ForeColor='<%# IIF(0<1,"Red","Black") %>
--------------------------------------
这样写就不行,但是如果是Text属性:
Text='<%# IIF(0<1,"Red","Black") %>
就没问题!
[/Quote]
在后台写个方法,然后判断
ynduanlian 2010-10-19
  • 打赏
  • 举报
回复
ForeColor='<%# IIF(0<1,"Red","Black") %>
--------------------------------------
这样写就不行,但是如果是Text属性:
Text='<%# IIF(0<1,"Red","Black") %>
就没问题!
ynduanlian 2010-10-19
  • 打赏
  • 举报
回复
不对啊,这样写都不行?!
<asp:TemplateColumn>
<HeaderTemplate>到单时间</HeaderTemplate>
<ItemTemplate><asp:Label runat="server" ID="lblCreateDate" Text='<%# DataBinder.Eval(Container.DataItem,"Create_Date") %>' ForeColor='<%# IIF(0<1,"#FF0000","#000000") %>' /></ItemTemplate>
</asp:TemplateColumn>
ynduanlian 2010-10-19
  • 打赏
  • 举报
回复
明白了,有空值
paual779 2010-10-19
  • 打赏
  • 举报
回复
数据不符合时间格式!
若-相惜 2010-10-19
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 arthur080319 的回复:]
Eval("XXXX")出来的是object类型,需要转换再比较吧
[/Quote]

正解,你写个方法比较下吧
Arthur080319 2010-10-19
  • 打赏
  • 举报
回复
Eval("XXXX")出来的是object类型,需要转换再比较吧
ynduanlian 2010-10-19
  • 打赏
  • 举报
回复
是啊,是日期形
辰爸 2010-10-19
  • 打赏
  • 举报
回复
问题出在这里DataBinder.Eval(Container.DataItem,"Create_Date")<Now()你的Create_Date是日期型的吗?在跟Now()比较的时候报错了!~

62,271

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧