我在视图中使用@DateTime.now
来保存当前日期,但不知何故我无法为我的对象设置当前日期和小时,它不会保存小时/分钟/秒。它保存与@DateTime.Today
显示相同的数据。它只是保存为
2014-01-06 00:00:00
当日期为当前(正确)时,日期和时间设置为零。
这是我的模型,没什么可看的,我不明白这里怎么可能出错。
public class Posts
{
...
public DateTime PostDate { get; set; }
...
}
以下是我将日期时间放入模型视图的方式:
@using (Html.BeginForm()) {
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
<fieldset>
[...]
<input type="hidden" name="PostDate" value=@DateTime.Now/>
<p>
<input type="submit" value="Create"/>
</p>
</fieldset>
}
当我在视图中调用@DateTime.Now
时,它会显示正确的值。我试图将其转换为字符串(通过将对象也PostDate
字符串),但我仍然遇到同样的问题。我错过了什么?
可能表现得很奇怪,因为你没有在你的值属性周围加上引号。更改为此。
<input type="hidden" name="PostDate" value="@DateTime.Now" />
正如@JohnH所建议的那样,这也有效
@Html.Hidden("PostDate",DateTime.Now)
当我遇到这个问题时,我意识到这是因为在SQL中,我在表的设计中选择了"date"而不是"datetime"。 数据库无法接受时间值,因为它配置错误。 更改表定义以适应完整的"日期时间"。