Мой ModelState всегда устанавливается в недопустимое значение, поскольку значение CreatedAt в одной из моих моделей всегда возвращается как Dates / ############ /, что приводит к нулевому значению.Мне интересно, почему это происходит.CreatedAt - это DateTimeOffset.Я совершенно уверен, что он должен извлекать значение DateTimeOffset из другой таблицы базы данных.
Я попытался привести его к datetime, создать новый DateTimeOffset и передать его, а просто передать DateTimeOffset.Now, чтобы просто получить егобыть действительным.Ни один не сработал.
public ActionResult EditSafetyIncidentPopUp([DataSourceRequest] DataSourceRequest request, SafetyIncidentViewModel sivm)
{
if (sivm != null && ModelState.IsValid)
{
SafetyIncident si = new SafetyIncident
{
Id = sivm.Id,
CreatedAt = new DateTimeOffset(sivm.CreatedAt),
Description = sivm.Description,
Type = sivm.Type,
ProductionLineId = sivm.ProductionLineId,
ProdLine = _productionLineService.Find(sivm.ProductionLineId)
};
_safetyIncidentService.Update(si);
}
return this.Json(new[] { sivm }.ToDataSourceResult(request,ModelState));}
public class SafetyIncidentViewModel
{
public string Id { get; set; }
[Required]
[ReadOnly(true)]
public DateTime CreatedAt { get; set; }
[Required]
public string Description { get; set; }
[Required]
[Range(0, 1, ErrorMessage = "Enter a valid type.")]
public type Type { get; set; }
[Display(Name = "Production Line")]
[Required]
public string ProductionLineId { get; set; }
[Display(Name = "Production Line")]
public ProductionLine ProdLine { get; set; }
}
Я хочу, чтобы результат успешно обновил мою базу данных.В настоящее время он только обновляет сетку, а затем не может передать данные в базу данных, поскольку ModelState недопустим.