DateTime值不会发送回控制器

时间:2018-03-16 13:48:56

标签: c# asp.net-mvc

我似乎无法在这里找到问题。真的卡住了,需要帮助。我使用Html.BeginForm,里面我有editorFor - model.DOB。使用post方法但不知何故它不会将属性发送回我的控制器。帮忙。我有其他字符串属性字段,正在向控制器发送。只有日期属性不发送。 TQVM提前。

---------编辑---------

刚刚发现如果我使用Edge - 我需要使用dd / MM / yyyy格式。然后它会保存好。如果我使用MM / dd / yyyy,那么它将在控制器上给出null。

在Chrome上

使用dd / MM / yyyy - 给我'该字段必须是日期'错误

使用MM / dd / yyyy - 给我null。

---------编辑---------

模型

[DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}", ApplyFormatInEditMode = true)]
[Display(Name = "Date of Birth")]
public DateTime? PersonDOB { get; set; }

查看

@model Models.CorporationModel
using (Html.BeginForm("Edit", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
    <div>
        <div class="form-group">
            @Html.LabelFor(model => model.PersonDOB, htmlAttributes: new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.EditorFor(model => model.PersonDOB, new { htmlAttributes = new { @class = "form-control", placeholder = "Format: 06/31/1998" } })
                @Html.ValidationMessageFor(model => model.PersonDOB, "", new { @class = "text-danger" })
            </div>
        </div>

        <div class="form-group">
            <div class="col-md-offset-2 col-md-10">
                <input type="submit" value="Save" class="btn btn-default" name="action:PersonalSave" />
                <input type="submit" value="Reprocess" class="btn btn-default" onclick="return confirm('Are you sure?')" name="action:PersonalReprocess" />
            </div>
        </div>
    </div>
}

控制器

[HttpPost]
[MultipleButton(Name = "action", Argument = "PersonalReprocess")]
public ActionResult PersonalReprocess(int id, CorporationModel corporationModel, HttpPostedFileBase postedResultFile, HttpPostedFileBase postedPersonalFile)
{
    corporationModel.Verified = "Processing";
    return UpdatePersonal(id, corporationModel, postedResultFile, postedPersonalFile);
}

如果我删除

[DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}", ApplyFormatInEditMode = true)]

我得到'该字段必须是日期错误'。如果我手动在月份和日期之间切换,那么它可以毫无问题地保存。但是,当它从数据库中拉出时,它将以dd / mm / yyyy开始,然后单击“保存”将再次发出“该字段必须是日期错误”,因此需要手动切换。

0 个答案:

没有答案