【问题标题】:code works on dev pc but not server代码适用于开发电脑,但不适用于服务器
【发布时间】:2012-12-17 18:33:52
【问题描述】:

以下代码在我的开发机器上正确处理我的 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?

任何建议将不胜感激。

【问题讨论】:

  • 奇怪的是它只会在服务器上出错。您是否能够捕获“eventTime”变量以查看它正在通过什么?
  • 嗯,有 NULL,但开发设置处理它们,Web 服务器没有。大多数其他记录是 24 小时格式的时间。

标签: asp.net inline


【解决方案1】:

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

编辑

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

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

【讨论】:

  • 嗯,有 NULL,但开发设置处理它们,Web 服务器没有。
  • 谢谢马克,这正是我要找的。​​span>
猜你喜欢
  • 1970-01-01
  • 2014-08-26
  • 1970-01-01
  • 2012-10-05
  • 2020-02-19
  • 1970-01-01
  • 1970-01-01
  • 2019-08-26
  • 2022-07-27
相关资源
最近更新 更多