【问题标题】:Date expressions is crashing日期表达式崩溃
【发布时间】:2016-05-29 09:46:21
【问题描述】:

我重新格式化了我的日期,以便从日期中删除时间,但是现在我的日期函数崩溃了,因为日期为“空”。我还没有选择日期。我正在尝试进入表单以选择日期,但我不能,因为如果不允许我这样做。

<table>
   <tr>
      <td>
         <strong>Admission Date: </strong>
         <input type="date" id="date-of-screening1" name="AdmDate1" value="@Admission1.ToString("MM/dd/yyyy")"></td>
      <td>
         <strong>Discharge Date: </strong>
         <input type="date" id="date-of-screening2" name="DisDate1" value="@Discharge1.ToString("MM/dd/yyyy")">
      </td> 
</table>

我遇到了另一个日期问题。我的日期没有保存,所以我决定更改格式,但现在出现错误。

这是错误:

编译器错误消息:CS0103:名称“DateAdministered”在当前上下文中不存在

这是我的代码:

<td><strong>Date Aministered:</strong><input type="date" id="date-of-screening" name="DateAdministered" value="@(DateAdministered !=null ? DateAministered.ToString("MM/dd/yyyy") : "01/01/2000")"></td>  

我已经检查了字段的名称,以确保它与表中的内容匹配并且确实如此。我不确定可能是什么问题。

【问题讨论】:

  • Admission1Discharge1有哪些类型?你说的崩溃是什么意思?您是否收到任何异常或错误消息?
  • 你没有关闭你的&lt;tr&gt;
  • 这个怎么样..你能发布有效的代码吗..?这样我们就可以看到您之前在做什么.. 还显示所有代码,这样我们就不会对您的代码中包含或未遗漏的内容做出假设还考虑使用包裹在其中的 ' 单引号双引号..或使用HTML Binding

标签: c# html datetime razor datetimepicker


【解决方案1】:

您的 Admission1 变量中有 null。所以你不能在上面调用 ToString 。您要么必须确保它不为空(即为其设置某种默认日期),要么设置如下条件:

value="@(Admission1 != null ? Admission1.ToString("MM/dd/yyyy") : "01/01/2000")"

其他变量也一样...

【讨论】:

  • 现在我收到以下错误:将 nvarchar 数据类型转换为 datetime 数据类型导致值超出范围。该语句已终止。它发生在这行代码上:db.Execute(SQLUPDATE, Admission1, Discharge1, LOC1, Program1, Notes, Admission2, Discharge2, LOC2, Program2, Notes2, SSId);
  • 这可能与这个问题无关。您应该创建新的 SO 问题并在那里共享相关的服务器端代码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-08-04
  • 1970-01-01
  • 1970-01-01
  • 2019-02-14
  • 2012-05-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多