TextboxFor Datetime阻止提交

时间:2017-03-25 11:20:16

标签: c# asp.net-mvc datetime html.textboxfor

有一个问题,我正在发送日期时间来查看。在HTTPGET我没有任何问题,我的意思是它显示格式化日期。但是,当我尝试将其发布到控制器时,它不会发布。日期改变了。例如,如果我的日期是25-03-2015(2015年3月25日)发布其更改,并尝试将“25”作为mounth。当我进入11/10/2017时一切都很好。当我输入第一个数字(在本例中为11)高于12时,它不会发布。您可以看到我的模型和查看零件。谢谢。

型号:

[DisplayFormat(DataFormatString = "{0:dd-MM-yyyy HH:mm}", ApplyFormatInEditMode = true)]
public DateTime AppointmentDate { get; set; }

查看:

<div class="input-capsule appointment-date">
     @Html.LabelFor(m => m.AppointmentDate, "Randevu Tarihi:")
     @Html.TextBoxFor(m => m.AppointmentDate, "{0:dd-MM-yyyy HH:mm}", new {@class = "form-control required" })
</div>

2 个答案:

答案 0 :(得分:0)

您不需要在模型类中提供日期格式。

尝试这种类型的格式:

@Html.TextBoxFor(m => m.AppointmentDate, "{0:dd/MM/yyyy}")

答案 1 :(得分:0)

您还记得定义这样的设置吗?

@using (Html.BeginForm())
{
<div class="form-horizontal">
<div class="form-group">
<div class="input-capsule appointment-date">
 @Html.LabelFor(m => m.AppointmentDate, "Randevu Tarihi:")
        @Html.TextBoxFor(m => m.AppointmentDate, "{0:dd-MM-yyyy HH:mm}", new {@class = "form-control required" })
    </div>
</div>
 <div class="form-group">
        <div class="col-md-offset-2 col-md-10">
            <input type="submit" value="Save" class="btn btn-default" />
        </div>
    </div>
</div>
}