我无法将html中输入类型TIME的值转换为带有C#的MVC控制器中的TimeSpan。 我正在用Jquery发送输入值。
<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");
}
})
};
在此之前,我将ng-models推送到一个对象数组,以便用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的格式。我也试着哭。
答案 0 :(得分:1)
我这样做
<input type="text" name="StartTime" value="20:45" />
C#/ MVC
public TimeSpan StartTime {get; set;}
在我的情况下,我使用的是bootstrap timepicker&amp;格式设置为24小时。确保使用type =“text”,时间格式设置为24小时。