Telerik UI for ASP.NET MVC
I want set new values for @ViewBag when edit, delete, add new value in kendo grid for handle not success changed at database (catched one exception) and refresh kendo grid to show older values without edited, added or removed item.
My problem is like this:
Controller
[HttpPost]
public ActionResult RemoveX(int idX){
Model.typeX removeX = //get object from context with idX
try
{
//removeX get out of db
}
catch(Exception e)
{
ViewBag.Flag = "true"; //"flag to show kendo window in view"
return //tried many returns to new ViewBag value go to my view, nothing working.
}
return Json(ModelState.ToDataSourceResult());
}
Controller constructor
ViewBag.Flag = "false";
View
@(Html.Kendo().Grid<Project.Models.ModelX>()
@* many columns and options*@
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(10)
.Events(events => events
.Error("errorFunction")
.Change("gridAfterChange"))
.Model(model => {@*some ViewBag from controller*@})
.Create(update => update.Action("MethodController", "Controller"))
.Read(read => read.Action("MethodController", "Controller"))
.Update(update => update.Action("MethodController", "Controller"))
.Destroy(update => update.Action("RemoveX", "Controller"))
)
)
View javascript
function gridAfterChange(e) {
if('(@ViewBag.Flag)' == "true")
@ViewBag.Flag= "false";
var grid = $("#gridName").data("kendoGrid");
grid.dataSource.read();
var otherWindow = $("#otherWindow").data("kendoWindow");
otherWindow.open.center();
}
}
I want show one window when not have success on edit, delete or add new item.
When throw new Exception() inside beginning of try{} for test kendo grid still remove item from grid. I'm trying refresh() kendo grid when catch any Exception.
I searched in many locations, but nothing work's here. Anyone can help or have another method to do this?
I saw this link: cancel changes of kendo ui for jquery doc's
but didn't found anything like that for telerik ui for asp.net mvc.