以下代码在我的开发机器上正确处理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?
任何建议都将不胜感激。
答案 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>