2

我正在使用 MVC 4,并且我有一个接受两个日期的表单字段。一个用于签入,另一个用于结帐。该课程非常基础:

public class date {
     public DateTime Checkin { get; set; }
     public DateTime Checkout { get; set; }
}

我使用的格式是 mm/dd/yyyy,其中用户使用 javascript 日历输入签入日期并使用 jquery 移动滑块调整签出日期。但是,我似乎总是得到“01/01/0001 12:00:00 AM”而不是实际日期。我将解决方案提供给了我的同事,即使代码完全相同,他们也没有问题。

是否有我可以更改的设置或者我的视觉工作室搞砸了?

4

3 回答 3

2

你有分配这些属性的代码吗?这是 的默认值DateTime,因此应该分配的任何内容都可能根本不执行。是date模特吗?如果您依赖 mvc 模型绑定器,请确保您的控制器操作接受 type 的参数date。(也许还考虑改进名称)

于 2012-07-16T04:31:56.350 回答
1

您显示的类将初始化CheckinCheckoutDateTime.MinValue,即 01/01/0001 的上午 12 点。

您不会显示任何从初始化值更改该值的代码。

大概是从 UI 到模型的绑定是不正确的。您将不得不发布更多代码来准确诊断出问题所在。建议您在接受来自 UI 的新值的控制器中发布操作。

有关使用 DateTime 作为控制器操作的参数会出现什么问题的指导,请参阅此类似帖子:

如何在 asp.net mvc 中将日期时间值作为 URI 参数传递?

于 2012-07-16T04:31:45.270 回答
0

您在客户端的绑定不起作用,请查看您用于日期的输入的名称,例如,检查下面,您可以拥有日期选择器的 id,但属性名称应该具有此值: Checkin和其他Checkout

<input id=datepicker name="Checkin" />
<input id=datepicker name="Checkout" />
于 2017-07-24T15:28:57.127 回答