将Data.Now分配给HTML.TextBoxFor

时间:2018-01-30 01:05:54

标签: c# jquery asp.net-mvc

我在MVC / EF中保存日期时遇到问题。我有一个复选框和一个文本框。我勾选复选框,jq将当前日期分配给文本框。提交表单时,模型会将此数据显示为01-01-0001。除了错误的日期之外,它还会抛出DateTime2错误。

@Html.CheckBoxFor(m => Model.OK, new { id = "cbOk"})
@Html.TextBoxFor(m => Model.OkDate, new { id = "OkDate", @readonly = true})

jquery的

$('#cbOk').change(function () {
    if (this.checked) {
        $('#OkDate').val(new Date(Date.now()));
    }
})

在模型中

    [Display(Name = "OK Date"), 
    DataType(DataType.DateTime),
    DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}")]
    public DateTime OkDate { get; set; }

这样做的正确方法是什么? 感谢

2 个答案:

答案 0 :(得分:1)

这是为了获取MM / dd / yyyy格式的日期

    var today = new Date();
    var t_month = today.getMonth() + 1;
    var t_day = today.getDate();

    $("#OkDate").val(t_month + '/' + t_day + '/' + today.getFullYear());

答案 1 :(得分:0)

Textbox需要接收一个字符串。

$('#OkDate').val(new Date(Date.now()));

这是将Date对象插入TextBox。 尝试转换为字符串:

  $('#OkDate').val(new Date(Date.now()).toString());