我的模型包含id
和date
。然后我将它angular.toJson
并发送到服务器。问题在于:如果我的日期为空,则服务器上的模型的日期字段显示为{1/1/0001 12:00:00 AM}但不为空。怎么解决这个?我需要null
。
这是我的函数调用
的angularjs控制器$scope.filterModel = function (filter) {
postService.getFilteredByUserId($scope.bindModel, angular.toJson(filter));
};
这是获取此模型的服务器功能
[HttpPost]
public IEnumerable<TimesheetModel> FilterModel(TimesheetFilterModel filter)
{
return TimesheetService.FilterTimesheetListByFilter(filter);
}
这是模特:
public class TimesheetFilterModel
{
public int UserId { get; set; }
public DateTime DateFrom { get; set; }
public DateTime DateTo { get; set; }
public int TicketType { get; set; }
}
答案 0 :(得分:2)
public class TimesheetFilterModel
{
public int UserId { get; set; }
public DateTime? DateFrom { get; set; }
public DateTime? DateTo { get; set; }
public int TicketType { get; set; }
public TimesheetFilterModel() {
DateFrom = null;
DateTo = null;
}
}
默认情况下,DateTime不可为空。您需要使它们可为空并在Constructor上将它们设置为null。
答案 1 :(得分:1)
您可以将datetime属性设置为可空,以便在获取null值时它将处理null。
DateTime是c#中的值类型,因此无法直接在其中指定空值。
DateTime? nullableDate;
dateSample.Value = null;
在您的情况下,它将默认为DateTime.MinValue
。