2017-08-20 6 views
0

Angular JSからフォームからWEB APIに2つの日時パラメータを渡したいが、動作させることができませんでした。しかし、私はWEB APIメソッドに時間のない日付のみを渡すことができます。datetimeパラメータをHTTP GETメッセージに渡す方法

マイフォームのDateTimeコントロールは以下のようになります -

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() 

バックエンドで、適切なタイムゾーンでDateオブジェクトに変換し直します。

関連する問題