In the MVC project, I have the following view where I use the Kendo Grid
<%: Html.Kendo().Grid<Milestone>() .Name("MilestonesGrid") .Columns(columns => { columns.Bound(p => p.ContractMilestoneID).Hidden(); columns.Bound(p => p.MilestoneSN).Title("Κωδικός οροσήμου"); columns.Bound(p => p.EstimatedDate).Title("Εκτιμώμενη ημερομηνία"); columns.Bound(p => p.RealDate).Title("Πραγματική ημερομηνία"); columns.Bound(p => p.MilestoneDescription).Title("Περιγραφή"); columns.Bound(p => p.Payment).Title("Πληρωμή"); columns.Bound(p => p.PaymentRate).Title("Ποσοστό πληρωμής"); columns.Bound(p => p.IsCompleted).Title("Έχει ολοκληρωθεί"); columns.Command(command => { command.Edit() .Text("Επεξεργασία") .CancelText("Ακύρωση") .UpdateText("Αποθήκευση"); command.Destroy() .Text("Διαγραφή"); }); }) .ToolBar(toolbar => toolbar.Create().Text("Προσθήκη νέου οροσήμου")) .Editable(editable => editable.Mode(GridEditMode.InLine)) .Sortable() .Pageable() .Filterable() .Resizable(resize => resize.Columns(true)) .DataSource(dataSource => dataSource .Ajax() .ServerOperation(true) .Model(model => model.Id(o => o.ContractMilestoneID)) .Model(model => model.Field(o => o.MilestoneSN)) .Model(model => model.Field(o => o.EstimatedDate)) .Model(model => model.Field(o => o.RealDate)) .Model(model => model.Field(o => o.MilestoneDescription)) .Model(model => model.Field(o => o.Payment)) .Model(model => model.Field(o => o.PaymentRate)) .Model(model => model.Field(o => o.IsCompleted)) .Batch(true) .Create(create => create.Action("CreateMilestone", "Milestones")) .Read(read => read.Action("DetailsJson", "Milestones", new { id = ViewBag.ID })) .Update(update => update.Action("UpdateMilestone", "Milestones")) .Destroy(delete => delete.Action("DeleteMilestone", "Milestones"))) %>
I also have a controller where I want to save a new record in the Kendo grid.
[HttpPost] public ActionResult CreateMilestone([DataSourceRequest] DataSourceRequest request, Milestone milestone) { if (milestone != null && ModelState.IsValid) { using (TADCEntities database = new TADCEntities()) { tblSymvaseisOrosima item = new tblSymvaseisOrosima { fldEstimatedDate = milestone.EstimatedDate, fldIsCompleted = milestone.IsCompleted, fldMilestoneDescription = milestone.MilestoneDescription, fldMilestoneSN = milestone.MilestoneSN, fldPayment = milestone.Payment, fldPaymentRate = milestone.PaymentRate, fldRealDate = milestone.RealDate, fldStoixeioYpoergouID = milestone.ElementSubProjectID }; database.tblSymvaseisOrosima.Add(item); database.SaveChanges(); return Json(new[] { item }.ToDataSourceResult(request, ModelState)); } } return View();
The problem is that the Milestone type (parameter in the controller) is always zero, even if I enter data when I create a new record in the grid and click save. Any idea what to do to pass the entered data to the milestone parameter? Thank you in advance
asp.net-mvc kendo-ui
Giorgos manoltzas
source share