-1
按照Telerik Mvc Grid Demo中爲插入和編輯所設定的模式,所有事情都運行起來,直到控制器方法返回。Telerik MVC Grid Rebind崩潰
參見:http://demos.telerik.com/aspnet-mvc/razor/Grid/EditingAjax?theme=vista
的方法調用到我的倉庫功能,這成功地更新數據庫;但是,如下圖所示在演示返回代碼
[AcceptVerbs(HttpVerbs.Post)]
[CultureAwareAction]
[GridAction]
public ActionResult _InsertAjaxEditing()
{
EditableProduct product = new EditableProduct();
if (TryUpdateModel(product)) {
SessionProductRepository.Insert(product);
}
return View(new GridModel(SessionProductRepository.All()));
}
一切正常,直到回線,所以我嘗試:
- 返回查看(新GridModel(myTypeRepository.All);
- 返回查看(新GridModel(myTypeRepository.All.ToList());
- 返回查看(新GridModel(myTypeRepository.All.ToArray());
- 返回查看(新GridModel(myTypeRepository.All);
- return View(new GridModel(myTypeRepository.All.ToList());
- 返回查看(新GridModel(myTypeRepository.All.ToArray());
- 返回查看(GridModel(myTypeRepository.All))
- 返回查看(GridModel(myTypeRepository.All.ToList()))
- 返回查看(GridModel(myTypeRepository.All.ToArray()))
所有這一切都導致了無法跟隨,因爲它指向Telerik的文件例外:GridActionAttribute.cs
現在因爲它發生在t他結束的方法,我不能確定它是返回的聲明或html.Telerik.Grid。然而,正如我所說我遵循演示模式:
@(Html.Telerik().Grid<BerettaFarms.Models.FoodKind>()
.Name("myName")
.ToolBar(commands => commands.Insert())
.DataKeys(keys => keys.Add(c => c.myTypeId))
.DataBinding(dataBinding => {
dataBinding.Ajax()
.Select("SelectAjaxEditing", "myController")
.Insert("InsertAjaxEditing", "myController")
.Update("SaveAjaxEditing", "myController")
.Delete("DeleteAjaxEditing", "myController");
})
.Columns(columns => {
columns.Bound(o => o.Name).Width(200);
columns.Bound(o => o.Description).Width(400);
columns.Command(commands => {
commands.Edit();
commands.Delete();
}).Width(200);
})
.DataBinding(dataBinding => dataBinding.Ajax().Select("AjaxIndex", "myController"))
.Editable(editing => editing.Mode(GridEditMode.InLine))
.Sortable()
.Scrollable(h => h.Height("700px"))
.Groupable()
.Filterable()
)
所以,如果有人知道爲什麼rebind失敗?或者,如果它是由於別的原因,請讓我知道。