У меня есть Kendo DateTimePicker, который не передает измененное значение в контроллер.Я просто получаю исходное значение привязки.
Вот код вида:
@for (var i = 0; i < Model.Call.CallTimeSheets.Count(); i++ )
{
<tr>
<td>@(Html.Kendo().DateTimePickerFor(model => Model.Call.CallTimeSheets[i].StartTime)
.Name("Start" + i.ToString())
.Format("dd-MM-yyyy HH:mm")
</td>
<td>@(Html.Kendo().DateTimePickerFor(model => Model.Call.CallTimeSheets[i].StopTime)
.Name("Stop" + i.ToString())
.Format("dd-MM-yyyy HH:mm")
</td>
</tr>
}
Вот модель вида:
public class CallEditViewModel
{
public Call Call { get; set; }
public IEnumerable<SelectListItem> Employees { get; set; }
public IEnumerable<SelectListItem> ClientCallers { get; set; }
public IList<CallTimeSheet> TimeSheet { get; set; }
}
А вот модель:
[Table("CallTimeSheet")]
public class CallTimeSheet
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid ID { get; set; }
public Guid CallID { get; set; }
[ForeignKey("CallID")]
public virtual Call Call { get; set; }
public Guid? EmployeeID { get; set; }
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:yyyy-MMMMM-dd}")]
[Display(Name = "Start Time")]
public DateTime? StartTime { get; set; }
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:yyyy-MMMMM-dd}")]
[Display(Name = "Start End")]
public DateTime? StopTime { get; set; }
[Timestamp]
public byte[] RowVersion { get; set; }
public TimeSpan? CallDuration()
{
return StopTime - StartTime;
}
}
Когда отправляется форма, я не получаю ошибок, но значения времени начала и окончания, отправленные в контроллер, являются исходными значениями, передаваемыми в представление из GET контроллера.
Есть несколько подобных вопросов, но ни одно из решений не сработало.