2016-08-01 10 views
0

Ich kann den Wert einer Eingabe TIME in HTML in TimeSpan in einem MVC-Controller mit C# nicht konvertieren. Ich sende die Eingabewerte mit Jquery.HTML-Eingabezeit in TimeSpan konvertieren

<div class="row"> 
      <div class="col-md-6"> 
       <label>Hora inicio: </label><input type="time" class="form-control" ng-model="hora.inicioc" /> 
      </div> 
      <div class="col-md-6"> 
       <label>Hora fin: </label><input type="time" class="form-control" ng-model="hora.finc" /> 
      </div> 
     </div> 

und meine JQuery ist:

$scope.AddReg = function() { 
     AddProduccion(); 
     $.ajax 
     ({ 
      type: "POST", 
      //the url where you want to sent the userName and password to 
      url: 'http://localhost:2713/Produccion/AgregarProduccion/', 
      contentType: "application/json; charset=utf-8", 
      async: true, 
      //json object to sent to the authentication url 
      data: JSON.stringify({dp : $scope.materiales, p :$scope.produccion}), 
      success: function() { 

      alert("Se agregó registro de produccion"); 
      } 
     }) 
    }; 

Und bevor dies zu tun, ich schiebe die ng-Modelle auf ein Array von Objekten mit Jquery zu senden.

var AddProduccion = function() { 
     $scope.produccion.push(
      { 
       hora_inicio_congelacion: $scope.hora.inicioc, 
       hora_fin_congelacion: $scope.hora.finc, 
       hora_inicio_deshielo: $scope.hora.iniciod, 
       hora_fin_deshielo: $scope.hora.find, 
       hora_registro: "", 
       total_producido: 5, 
       total_merma: 5 
      } 
     ); 
    }; 

Und mein Controller ist Gettig zwei Listen von Objekten.

[HttpPost] 
    public ActionResult AgregarProduccion(List<DetalleProduccionBolsasViewModel> dp, List<PBolsasModel> p) 

wo mein PBolsasModel ist

public class PBolsasModel 
{ 
    public System.TimeSpan hora_inicio_congelacion { get; set; } 
    public System.TimeSpan hora_fin_congelacion { get; set; } 
    public System.TimeSpan hora_inicio_deshielo { get; set; } 
    public System.TimeSpan hora_fin_deshielo { get; set; } 
    public System.DateTime hora_registro { get; set; } 
    public double total_producido { get; set; } 
    public double total_merma { get; set; } 
} 

Ich habe bereits versucht die hour_inicio_congelacion, hora_fin_congelacion als String zu setzen und dann ihre konvertieren, aber ich habe einen Fehler, da der Wert ich aus der Sicht bekommen haben nicht das Format, um es in TimeSpan zu konvertieren. Ich habe auch versucht zu weinen.

+1

Welchen Wert haben Sie in einer dieser Eigenschaften (zB hora_inicio_congelacion)? – Shyju

+0

"1970-01-01T21: 03: 00.000Z" dieses Format der Zeit – MisaelGaray

Antwort

1

Ich mache es wie diese

<input type="text" name="StartTime" value="20:45" /> 

C#/MVC

public TimeSpan StartTime {get; set;} 

In meinem Fall war ich mit Bootstrap-Timepicker & Format zu 24 Stunden eingestellt ist. Stellen Sie sicher, dass Sie type = "text" verwenden und das Zeitformat auf 24 Stunden eingestellt ist.

Verwandte Themen