我的视图模型和控制器似乎以不同的格式保存日期时间。例如,在我在HTML文本框中的视图中,如果我在2015年12月7日输入,它将保存该值,就好像它是" 2015年12月7日"。我正在使用Boostrap Javascript DateTime Picker。 (附注:如果我输入" dateFormat"对于日期时间选择器,选择器将不起作用,这就是我注释掉该行的原因)
有没有办法让我可以更改HTML文本框的保存格式?
我的观点型号:(部分)
<div class="form-group">
@Html.Label("Actual Completion Date", htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.Actual_Completion_Date, new { htmlAttributes = new { @Value = Model.Actual_Completion_Date, @class = "form-control" } })
</div>
@Html.ValidationMessageFor(model => model.Actual_Completion_Date, "", new { @class = "text-danger" })
</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>
}
@section scripts {
<script type="text/javascript">
$(function () {
$('#Actual_Completion_Date').datetimepicker({
//dateFormat: "dd/mm/yyyy",
defaultDate: '@Model.Actual_Completion_Date',
format: 'L',
showClose: true,
showClear: true,
toolbarPlacement: 'top',
});
$('#Actual_Completion_Date').datetimepicker({
defaultDate: '@Model.Actual_Completion_Date',
format: 'LT',
showClose: true,
showClear: true,
toolbarPlacement: 'top',
stepping: 15,
});
});
</script>
}
我的模型(部分):
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}", ApplyFormatInEditMode = true)]
public Nullable<System.DateTime> Date_Assigned { get; set; }
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}", ApplyFormatInEditMode = true)]
public Nullable<System.DateTime> Actual_Completion_Date { get; set; }
有任何建议或指示吗?非常感谢提前。
答案 0 :(得分:0)
如何解析datetime取决于发布值的当前语言和作为查询字符串传递的值。
使用不变文化解析作为路径一部分传递的值。用f12工具或Fiddler检查你有什么样的要求。
如果你想改变行为,你会改变线程的固有文化(对于发布的值和查询字符串)或注册你自己的midelbinder(对于路由值)