代码适用于dev pc但不适用于服务器

时间:2012-12-17 18:33:53

标签: asp.net inline

以下代码在我的开发机器上正确处理gridview的数据,但不是我的服务器。

我只是想在gridview中显示一个时间参数。它在我的开发PC上工作正常,但在服务器上发布此错误....

字符串未被识别为有效的DateTime。 描述:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.FormatException:String未被识别为有效的DateTime。

以下是gridview中模板字段的代码...

<ItemTemplate> 
   <asp:Label ID="Label1" runat="server" Text='<%# String.Format("{0:hh:mm:ss tt}", Convert.ToDateTime(Eval("eventTime").ToString).AddHours(-5)) %>' ></asp:Label> 
</ItemTemplate>

如何使用内联代码检查Null?

任何建议都将不胜感激。

1 个答案:

答案 0 :(得分:3)

这听起来像本地开发人员和服务器之间的数据问题;我会检查被推送到eventTime的内容。我敢打赌它不是有效的DateTime

修改

根据您的编辑,您可以使用三元运算符(?:)执行内联空值检查:

<asp:Label ID="Label1" runat="server" Text='<%# Eval("eventTime") != null ? String.Format("{0:hh:mm:ss tt}", Convert.ToDateTime(Eval("eventTime").ToString).AddHours(-5)) : "No time specified" %>' ></asp:Label>