2017-07-18 137 views
0

所以我在我的視圖中有下面的劍道網格。在某些時候,ajax調用會更新模型中使用的Model.Id。問題是Model.Id更新時,網格上的模型不是。有什麼方法可以更新嗎?在劍道網格上更新模型

@(Html.Kendo().Grid<OfferStatementVm>().Name("gridStatementList") 
    .Columns(columns => { 
     columns.Bound(c => c.Statement).Title("STATEMENT"); 
     columns.Command(command => 
     { 
      command.Edit(); 
      command.Custom("custom-delete").Click("statementList_onDelete").Text("DELETE"); 
     }).Title("Actions").Width(165); 
    }) 
    .ToolBar(toolbar => toolbar.Create().Text("Add Statement")) 
    .NoRecords("No Statements Found") 
    .DataSource(dataSource => dataSource 
     .Ajax() 
     .Model(model => { 
      model.Id(p => p.Id); 
      model.Field(p => p.OfferId).DefaultValue(Model.Id); 
     }) 
     .Read(read => read.Action("GetStatementList", "OffersCreateOrUpdate", new { Area = "Offers"}) 
      .Data("offerApp.getStatementListSearch")) 
     .Sort(x => x.Add("Id")) 

     .Create(create => create.Action("InsertStatement", "OffersCreateOrUpdate", new { Area = "Offers" }) 
      .Data("offerApp.getAntiForgeryToken('#offersCreateOrUpdateForm')")) 

     .Update(update => update.Action("UpdateStatement", "OffersCreateOrUpdate", new { Area = "Offers" }) 
      .Data("offerApp.getAntiForgeryToken('#offersCreateOrUpdateForm')")) 

     .Events(events => { 
      events.Error("offerApp.statementList_onError"); 
      events.Sync("offerApp.refreshStatementList"); 
     })) 
     .Events(events => events.DataBound("offerApp.statementList_onDataBound"))) 

乾杯,

ž

+0

你的更新控制器動作是什麼樣子的?你應該返回更新後的viewmodel .. –

回答

0

我設法通過網格移動到一個局部視圖和渲染它來解決這個問題,一旦我有一個有效的Model.Id。