2017-06-30 8 views
0

私の質問に誰か助けてもらえますか: 剣道グリッドの編集コマンドがコントローラに届いていません。 何か不足していますか?剣道のグリッド編集コマンドがコントローラに届かない

@(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")) 
) 

そして、私のコントローラは、このようなものです:

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

エラーが発生していますか?これをデバッグで実行するとどうなりますか? – Supersnake

+2

これは私のコメントです。グリッドコントローラ/ソースデータなどがないので、エラーを再現するのは本当に難しいです。何か間違ったことは本当にありません。 「ブラウザで表示」を押して、Google Chromeの要素を確認してみてください。あなたがネットワークタブの下でエラーを受け取るかどうか、またはコンソールのエラー – gavsta707

+0

'.Data(" additionalInfo ")を使用するとJS関数が呼び出されます。この関数のスニペットも投稿できますか?そしてあなたの 'WEEKLY_ORDERS_LINE'オブジェクトの構造は? – Sandman

答えて

0

私はルーテの同僚です。

問題は、剣道の更新が他のコントローラを呼び出していて正しいものではないということでした。これは、レンダリングされていたデータのすべての結果に固有の識別子がないために発生していました。

この一意の識別子がモデルに割り当てられ、問題が解決されました。私はこのリンクを見た後、これを理解したhttp://www.telerik.com/forums/wrong-methods-are-fired

ありがとうございました。

関連する問題