2017-06-30 1 views
0

Kann jemand bitte mit meiner Frage helfen: Der Bearbeitungsbefehl in Kendo Gitter erreicht nicht meine Steuerung. Fehle ich etwas?Kendo Grid Editierbefehl erreicht Controller nicht

@(Html.Kendo().Grid<WEEKLY_ORDERS_LINES>() 
     .Name("orderDetails_edit" + Model.OrderID) 
     .Columns(columns => 
     { 
      columns.Bound(e => e.ID).Hidden(true); 
      columns.Bound(e => e.INGRED_NAME).Title("Ingredient Name").Width(120).HeaderHtmlAttributes(new { style = "text-align: center;" }).HtmlAttributes(new { style = "text-align: center;" }); 
      columns.Command(command => { command.Edit(); }).Width(60); 
     }) 
     .Editable(e => e.Mode(GridEditMode.InLine)) 
     .DataSource(dataSource => dataSource 
     .Ajax() 
     .Sort(sort => sort.Add("INGRED_NAME").Ascending()) 
     .Model(model => 
     { 
      model.Id(p => p.ID); 
      model.Field(p => p.ID).DefaultValue(new Guid()); 
      model.Field(f => f.INGRED_NAME).Editable(true); 
     }) 
     .Update(update => update.Action("Update", "Food")) 
     .Read(read => read.Action("Read", "Food").Data("additionalInfo")) 
     ) 
     .Events(events => events.Cancel("refreshView")) 
) 

Und mein Controller ist wie folgt:

public ActionResult Update([DataSourceRequest] DataSourceRequest request, WEEKLY_ORDERS_LINES model) 
    { 
     if (model != null && ModelState.IsValid) 
     { 
      WEEKLY_FOOD dbFood = _db.WEEKLY_FOOD.Find(model.ID); 
      dbFood.INGRED_NAME = model.INGRED_NAME; 
      _db.SaveChanges(); 
     } 

     ActionResult a = Json(new[] { model }.ToDataSourceResult(request, ModelState)); 
     return a; 
    } 
+1

Erhalten Sie irgendwelche Fehler? Was passiert, wenn Sie dies im Debug ausführen? – Supersnake

+2

Ich zweitens diesen^Kommentar. Es ist wirklich schwierig, einen Fehler zu reproduzieren, da ich keine Grid-Controller/Quelldaten usw. habe. Ich kann wirklich nichts falsch sehen. Versuchen Sie, "in Browser anzeigen" und Elemente in Google Chrome zu überprüfen. Sehen Sie, wenn Sie irgendwelche Fehler unter der Netzwerkkarte oder Fehler in der Konsole bekommen – gavsta707

+0

Mit '.Data (" additionalInfo ")' wird eine JS-Funktion aufrufen, können Sie ein Snippet dieser Funktion auch posten? Und die Struktur Ihres 'WEEKLY_ORDERS_LINE'-Objekts? – Sandman

Antwort

0

ich ein Kollege von Rute bin.

Das Problem, das auftrat war, dass das Kendo-Update anderen Controller und nicht den richtigen aufgerufen hat. Dies geschah, weil alle Ergebnisse der Daten, die gerendert wurden, keine eindeutige Kennung hatten.

Dieser eindeutige Bezeichner wird nun der model.Id zugewiesen und das Problem ist gelöst. Ich habe das verstanden, nachdem ich diesen Link http://www.telerik.com/forums/wrong-methods-are-fired gesehen habe.

Danke für die Hilfe.