DateTime.Now 只在我将其设置为数据库中的对象时给期



我在视图中使用@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"。 数据库无法接受时间值,因为它配置错误。 更改表定义以适应完整的"日期时间"。

最新更新