2017-08-20 72 views
0

我想從窗體傳遞兩個Datetime參數到Angular JS的WEB API,但無法使它工作。不過,我只能將沒有時間的日期傳遞給WEB API方法。如何將datetime參數傳遞給HTTP GET消息

我的表格日期時間控件看起來如下: -

enter image description here

現在我想從角JS傳遞日期時間如下圖所示: -

角JS調用

 var startTime = $filter('date')($scope.md_invstarttime, "HH:mm"); 
     startTime = startTime.split(':'); 
     var invStartDate = new Date($scope.md_invstart); 
     invStartDate.setHours(startTime[0]); 
     invStartDate.setMinutes(startTime[1]); 

     var invBookDate = $filter('date')(invStartDate, "yyyy-MM-ddTHH:mm:ss.000") 

     var endTime = $filter('date')($scope.md_invendtime, "HH:mm"); 
     endTime = endTime.split(':'); 
     var invEndDate = new Date($scope.md_invend); 
     invEndDate.setHours(endTime[0]); 
     invEndDate.setMinutes(endTime[1]); 

     var invBookEndDate = $filter('date')(invEndDate, "yyyy-MM-ddTHH:mm:ss.000") 

     MetadataOrgFactory.getTriIdApiCall('checkinvavail', invBookDate, invBookEndDate, $scope.md_invid,  
      function (dataSuccess) {     
      }, function (dataError) { 
     }); 

控制器方法

[Authorize] 
     [Route("api/checkinvavail/{invstarttime}/{invendtime}/{invid}")] 
     [HttpGet] 
     public bool GetInvAvailability(DateTime invstarttime, DateTime invendtime,Guid invid) 
     { 
      InventoryBLL checkInv = new InventoryBLL(); 
      bool isAvailable = checkInv.IsAvailable(invstarttime, invendtime,invid) 
      return isAvailable; 
     } 

我已經搜索了很多文章,但沒有人可以解決我的問題,因此這篇文章。如果任何人發佈這個問題的確切解決方案,這將是非常有益的。

回答

1

將您的日期對象轉換爲時間戳記var timestamp = datevar * 1,然後改爲傳遞時間戳。然後在後端將時間戳轉換回日期對象。

1

相反

var invBookEndDate = $filter('date')(invEndDate, "yyyy-MM-ddTHH:mm:ss.000") 

在前端將其轉換爲時間戳。

invBookEndDate = invEndDate.getTime() 

在後端,使用適當的時區將其轉換回日期對象。

相關問題