This question is locked. New answers and comments are not allowed.
Hi,
I am trying to delete the record in Telerik MVC grid. But the grid is not refreshing after deleting the record. If I click the refresh button or press Ctrl+ F5 the grid is refreshed. I am using Ajax binding. It works fine after adding and editing the record (i.e the grid is refreshing).
Below is the code for Controller and View that I am using :
The View is as follows:
Please check it and let me know where I am missing.
I am trying to delete the record in Telerik MVC grid. But the grid is not refreshing after deleting the record. If I click the refresh button or press Ctrl+ F5 the grid is refreshed. I am using Ajax binding. It works fine after adding and editing the record (i.e the grid is refreshing).
Below is the code for Controller and View that I am using :
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mvc;using Telerik.Web.Mvc;using TelerikMVC.Models;using DAL;using System.Data;using System.Threading;namespace TelerikMVC.Controllers{ public class RestaurantAJAXController : Controller { public ActionResult Index() {
return View(); } [GridAction] public ActionResult _AjaxBinding() { return View("Index", new GridModel(GetRestaurantData())); } private IEnumerable<RestaurantModels> GetRestaurantData() { POCDBContext db = new POCDBContext(); IEnumerable<RestaurantModels> re = from r in db.Restaurants join ra in db.Restaurant_Address on r.ID equals ra.ID select new RestaurantModels { ID = r.ID, Name = r.Name, City = ra.City, Country = ra.Country, EstablishedDate = r.EstablishedDate.Value }; return re; } [HttpPost] [GridAction] public ActionResult Add(RestaurantModels rm) { POCDBContext db = new POCDBContext(); Restaurant re = new Restaurant(); re.Name = rm.Name; re.EstablishedDate = rm.EstablishedDate; db.Restaurants.AddObject(re); db.ObjectStateManager.ChangeObjectState(re, EntityState.Added); Restaurant_Address readd = new Restaurant_Address(); //readd.ID = rm.ID; readd.City = rm.City; readd.Country = rm.Country; db.Restaurant_Address.AddObject(readd); db.ObjectStateManager.ChangeObjectState(readd, EntityState.Added); db.SaveChanges(); return View(new GridModel(GetRestaurantData())); } [HttpPost] [GridAction] public ActionResult Update(RestaurantModels rm) { POCDBContext db = new POCDBContext(); Restaurant re = new Restaurant(); re.ID = rm.ID; re.Name = rm.Name; re.EstablishedDate = rm.EstablishedDate; db.Restaurants.Attach(re); db.ObjectStateManager.ChangeObjectState(re, EntityState.Modified); Restaurant_Address readd = new Restaurant_Address(); readd.ID = rm.ID; readd.City = rm.City; readd.Country = rm.Country; db.Restaurant_Address.Attach(readd); db.ObjectStateManager.ChangeObjectState(readd, EntityState.Modified); db.SaveChanges(); return View("Index", new GridModel(GetRestaurantData())); } public ActionResult Update() { return View(); } [HttpPost] [AcceptVerbs(HttpVerbs.Post)] [GridAction] public ActionResult Delete(RestaurantModels rm) { try { ViewData["AJAXData"] = ""; POCDBContext db = new POCDBContext(); Restaurant re = new Restaurant(); re.ID = rm.ID; //re.Name = rm.Name; db.Restaurants.Attach(re); db.ObjectStateManager.ChangeObjectState(re, EntityState.Deleted); Restaurant_Address readd = new Restaurant_Address(); readd.ID = rm.ID; //readd.City = rm.City; //readd.Country = rm.Country; db.Restaurant_Address.Attach(readd); db.ObjectStateManager.ChangeObjectState(readd, EntityState.Deleted); db.SaveChanges(); //Thread.Sleep(10000); } catch (Exception ex) { } return View(new GridModel(GetRestaurantData())); // return View("Index"); } }}@model IEnumerable<DAL.Restaurant>@using Telerik.Web.Mvc.UI;@{ ViewBag.Title = "Index";}<script src="../../Scripts/jquery-1.5.1.min.js" type="text/javascript"></script><link href="../../Content/telerik.common.min.css" rel="stylesheet" type="text/css" /><link href="../../Content/telerik.telerik.min.css" rel="stylesheet" type="text/css" /><link href="../../Content/telerik.vista.min.css" rel="stylesheet" type="text/css" /><script src="../../Scripts/telerik.grid.min.js" type="text/javascript"></script><script src="../../Scripts/telerik.grid.editing.min.js" type="text/javascript"></script>@*<script src="../../Scripts/telerik.grid.editing.js" type="text/javascript"></script>*@<script src="../../Scripts/MicrosoftAjax.js" type="text/javascript"></script><script src="../../Scripts/MicrosoftMvcAjax.js" type="text/javascript"></script>@(Html.Telerik().Grid<TelerikMVC.Models.RestaurantModels>() //("AJAXData") .Name("Grid") .ToolBar(commands => commands.Insert()) .DataKeys(dataKeys => dataKeys.Add(c => c.ID)) .Columns(columns => { columns.Bound(o => o.Name); columns.Bound(o => o.City).Width(100); columns.Bound(o => o.Country); columns.Bound(o => o.EstablishedDate).Width(170).Format("{0:dd/MM/yyyy}").Filterable(true); columns.Command(commands => { commands.Edit().ButtonType(GridButtonType.BareImage); commands.Delete().ButtonType(GridButtonType.BareImage); }).Width(200).Title("Actions"); ; }) .DataBinding(dataBinding => dataBinding.Ajax() .Select("_AjaxBinding", "RestaurantAJAX") .Insert("Add", "RestaurantAJAX") .Update("Update","RestaurantAJAX") .Delete("Delete", "RestaurantAJAX") ) .Editable(editing => { editing.Window(win => { win.Name("TextEdit"); win.Height(300); win.Width(300); }); editing.Enabled(true); editing.DisplayDeleteConfirmation(false); editing.Mode(GridEditMode.PopUp); }) .Pageable(pager => { pager.PageSize(5); pager.PageTo(1); }) .Sortable() .Scrollable() .Filterable() ) @*For enabling the client side script*@@(Html.Telerik().ScriptRegistrar())Please check it and let me know where I am missing.