1

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

我只是想将小时数添加到出现在 gridview 中的时间参数中。它在我的开发 PC 上运行良好,但在服务器上发布此错误....

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

异常详细信息:System.FormatException:字符串未被识别为有效的 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?

任何建议将不胜感激。

4

1 回答 1

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>

于 2012-12-17T18:44:48.477 回答