Asp.net mvc 我无法在MVC中保存日期

Asp.net mvc 我无法在MVC中保存日期,asp.net-mvc,date,razor,Asp.net Mvc,Date,Razor,我有一个模型,它有两列,其中一列是date,但在post上我没有得到任何date,除非我给它赋值DateTime。现在,它将保存当前日期,但如果在datepicker中选择了其他日期,它将不会保存该日期,所以,我如何将日期传递给post上的视图模型,我可以传递下拉列表和文本框中的所有日期,但在哪里找不到日期。这是密码 我的视图模型 [Display(Name = "Requested Date")] [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd

我有一个模型,它有两列,其中一列是date,但在post上我没有得到任何date,除非我给它赋值DateTime。现在,它将保存当前日期,但如果在datepicker中选择了其他日期,它将不会保存该日期,所以,我如何将日期传递给post上的视图模型,我可以传递下拉列表和文本框中的所有日期,但在哪里找不到日期。这是密码 我的视图模型

[Display(Name = "Requested Date")]
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
[DataType(DataType.Date)]
public DateTime? RequestDate { get; set; }

[Display(Name = "Job Number")]
public string JobNo { get; set; }
下面是创建后的方法代码

if (ModelState.IsValid)
{
    var model = new PECEquipmentRequest()
    {
        ProjectId = pecEquipmentRequest.ProjectId,
        JobNo = pecEquipmentRequest.JobNo,
        RequestDate = pecEquipmentRequest.RequestDate
    };
    db.PECEquipmentRequests.Add(model);
    db.SaveChanges();
}
这是我的剃须刀语法

<div class="form-group">
    @Html.LabelFor(model => model.RequestDate, htmlAttributes: new { @class = "control-label col-md-2" })
    <div class="col-md-10">
        @Html.EditorFor(model => model.RequestDate, new { htmlAttributes = new { @Value = DateTime.Now,@class = "form-control datepicker" } })
        @Html.ValidationMessageFor(model => model.RequestDate, "", new { @class = "text-danger" })
    </div>
</div>

<div class="form-group">
    @Html.LabelFor(model => model.JobNo, htmlAttributes: new { @class = "control-label col-md-2" })
    <div class="col-md-10">
        @Html.EditorFor(model => model.JobNo, new { htmlAttributes = new { @class = "form-control" } })
        @Html.ValidationMessageFor(model => model.JobNo, "", new { @class = "text-danger" })
    </div>
</div>

您可以在服务器端将日期解析为所需格式


ParseExact(str,“yyyyMMddHHmmss”,CultureInfo.InvariantCulture)

使用
Html.TextBoxFor
您需要删除
@Value=DateTime。现在
-使用
HtmlHelper
方法时,切勿设置
属性。如果您希望默认日期为
DateTime.Now
,然后在将其传递给视图之前,在模型中设置值。@StephenMuecke,因为您仍然无法确定发生了什么,日期仍然是null@Shyju日期选择器会随着“TextBoxFor”消失,即使我手动添加日期,它仍然会显示空值,如果它
null
its,因为您没有选择日期,或者在将值传递给视图之前,没有在模型中初始设置值。但是为什么要为该控件设置一个
class=“datepicker”
。它建议您使用jQuery datepicker插件(在这种情况下,您的
[DisplayFormat]
[DataType]
属性是毫无意义的。如果您使用的是datepicker插件,请显示相关代码!
    $(document).ready(function () {
    $(".datepicker").kendoDatePicker();
});