2016-08-01 3 views
0

Я не могу преобразовать значение типа ввода TIME в html в TimeSpan в MVC-контроллер с C#. Я отправляю входные значения с помощью JQuery.Преобразование времени ввода HTML в TimeSpan

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

И мой Jquery является:

$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"); 
      } 
     }) 
    }; 

И прежде чем это сделать, я раздвинуть нг-модели в массив объектов, чтобы отправить его с Jquery.

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 
      } 
     ); 
    }; 

И мой контроллер получает два списка объектов.

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

где мой PBolsasModel является

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; } 
} 

Я уже пытался установить hour_inicio_congelacion, hora_fin_congelacion как строку, а затем преобразовать их, но я получил сообщение об ошибке, так как значение я получаю с точки зрения не формат, чтобы преобразовать его в TimeSpan. Я тоже попытался заплакать.

+1

Какое значение у вас есть в одном из этих свойств (например: hora_inicio_congelacion)? – Shyju

+0

"1970-01-01T21: 03: 00.000Z" этот формат времени – MisaelGaray

ответ

1

Я делаю это, как этот

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

C#/MVC

public TimeSpan StartTime {get; set;} 

В моем случае я использовал самозагрузки timepicker формат & устанавливается в 24 часов. Убедитесь, что вы используете type = "text", а формат времени установлен равным 24Hrs.

Смежные вопросы