可空对象必须具有值ASP.NET MVC日期时间选择器

问题描述 投票:1回答:1

确实很困惑,为什么在将数据保存到控制器时我的视图不将数据绑定到模型中。我使用Jquery Datetime Picker创建了这个UI。在提交“提交”按钮消息后,尝试调试[[“ Nullable对象必须具有值”,并且由于这些数据从不绑定(无值/空)到模型中,所以此错误显示在我的日期开始和日期结束视图中。

enter image description here

基于该UI,我想使用EF将这些数据保存到sql服务器数据库中。我的模型是日期时间类型。

我的模特:

public class OvertimeRequestModel { public int OvertimeId { get; set; } public string OvertimeCode { get; set; } public DateTime? DateStart { get; set; } //datetime format public DateTime? DateEnd { get; set; } //datetime format public string Notes { get; set; } }

我在视图中使用了texboxfor:

<div class="input-group col-xs-10 col-sm-5"> @Html.TextBoxFor(m => m.DateStart, @"{0:MM/dd/yyyy HH:mm:ss}", new { @class = "form-control", @id = "date-timepicker1", @placeholder = "select date start", required = "required", @autocomplete = "off" }) <span class="input-group-addon"> <i class="fa fa-clock-o bigger-110"></i> </span> </div> <div class="input-group col-xs-10 col-sm-5"> @Html.TextBoxFor(m => m.DateEnd, @"{0:MM/dd/yyyy HH:mm:ss}", new { @class = "form-control", @id = "date-timepicker2", @placeholder = "select date End", required = "required", @autocomplete = "off" }) <span class="input-group-addon"> <i class="fa fa-clock-o bigger-110"></i> </span> </div>

我的JavaScript:

<script type="text/javascript"> //$(document).ready(function(){ jQuery(function ($) { if (!ace.vars['old_ie']) $('#date-timepicker1').datetimepicker({ format: 'MM/DD/YYYY HH:mm:ss',//use this option to display seconds icons: { time: 'fa fa-clock-o', date: 'fa fa-calendar', up: 'fa fa-chevron-up', down: 'fa fa-chevron-down', previous: 'fa fa-chevron-left', next: 'fa fa-chevron-right', today: 'fa fa-arrows ', clear: 'fa fa-trash', close: 'fa fa-times' } }).next().on(ace.click_event, function () { $(this).prev().focus(); }); if (!ace.vars['old_ie']) $('#date-timepicker2').datetimepicker({ format: 'MM/DD/YYYY HH:mm:ss', icons: { time: 'fa fa-clock-o', date: 'fa fa-calendar', up: 'fa fa-chevron-up', down: 'fa fa-chevron-down', previous: 'fa fa-chevron-left', next: 'fa fa-chevron-right', today: 'fa fa-arrows ', clear: 'fa fa-trash', close: 'fa fa-times' } }).next().on(ace.click_event, function () { $(this).prev().focus(); }); }); </script>

我的控制器:

OvertimeRequest over = new OvertimeRequest(); over.OvertimeCode = model.OvertimeCode; over.DateStart = model.DateStart; //always get null value over.DateEnd = model.DateEnd; //always get null value over.Notes = model.Notes; db.OvertimeRequest.Add(over); db.SaveChanges();

需要建议,谢谢。
c# jquery asp.net-mvc datetimepicker
1个回答
0
投票
查看

@Html.TextBoxFor(model => model.StartDate, "{0:dd.MM.yyyy}", new { @class = "date-picker fullwidth", data_date_format = "dd.mm.yyyy" })

Js

$(".date-picker").datepicker({ autoclose: true, todayHighlight: true });

型号

public DateTime StartDate { get; set; }

© www.soinside.com 2019 - 2024. All rights reserved.