2015-09-29 35 views
0

我有iddate的型號。然後我把它做成angular.toJson併發送到服務器。問題在於:如果我的日期爲空,則服務器上的模型日期字段顯示爲{1/1/0001 12:00:00 AM}但不爲空。如何解決這個問題?我需要null空的數據轉換爲{1/1/0001 12:00:00 AM}

這裏是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; } 
} 
+2

您應該使用'可空

+0

是的,當然。我的小姐......謝謝!) – HUSTLIN

回答

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不可空。你需要讓它們爲空,並在構造函數上將它們設置爲null。

+1

你不需要在構造函數中設置null(默認是'null') –

1

您可以使datetime屬性爲空,以便在獲取空值時它將處理空值。

DateTime是c#中的一個值類型,因此在其中直接分配空值是不可能的。

DateTime? nullableDate; 
dateSample.Value = null; 

在你的情況下,它會默認爲DateTime.MinValue