我为我的 MVC Web 应用程序设计了一个表单,用户可以使用它输入详细信息。其中一个细节是他/她可以从日期时间选择器中选择的日期。
输入包括 Date 在内的所有详细信息后,我提交了表单,但没有转到下一页,而是重新加载相同的表单,并在 Date 字段上显示验证错误并将 01/01/0001 00:00:00 设置为日期。
解决办法是什么 ?
我已经像这样声明了我的日期时间变量-
[Required]
[DisplayFormat(DataFormatString = "{0:dd-MM-yyyy}", ApplyFormatInEditMode = true)]
public DateTime ShipmentDate { get; set; }
这里面有什么遗漏吗?
技术细节 :
我已经在Windows Server 2012 上部署了我的 MVC 应用程序。数据库是 SQL Server 2012 和 Web 服务器是 IIS 8 。
当我从我的开发版本运行时,它运行良好,即 - 从 Visual Studio 2012- Db SQL Server 2012 - IIS 7.5。但是上面的行是我想要使用的实时版本。
请帮助解决混乱。
一种可能的解决方案是脱离上下文的 DateTimePicker 文件。当我测试应用程序时,通过输入日期,例如:2013 年 4 月 17 日 .. 它起作用了。
我为 datetimePicker 使用了一个外部 .js 文件。该文件的操作系统要求是 Windows 7 、 Windows Vista。
我已经在 Windows Server 2012 上部署了我的应用程序(甚至是服务器上的 datepickerFile)。因此,我认为,文件的 JQuery Logic 没有得到实现,因此即使在表单的 textBox 中设置后日期仍然为空。
最终,当我们进行回发时,将 null 值返回给我的模型,并检查 Model.IsValid 的条件是否为 null ,但失败,并重新创建视图。由于 Datetime 的默认值为 01/01/0001 00:00:00 ,因此该值在 dateTime 字段中被初始化。
问候,
曼格什