Hi,
I have been using Telerik controls, I was using server binding, but I have to use Ajax binding, that is not working properly, I am getting Error "Error! The requested URL did not return JSON asp.net mvc"
Following is the Code in My Controller
[GridAction]
[Authorize(Roles = "Admin")]
public ActionResult Edit(int id)
{
Contact model = _cService.getContact(id, applicationID);
GetContactType();
if (model != null)
return View(new GridModel());
else
return View();
}
//
// POST: /Contact/Edit/5
[GridAction]
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(int id, Contact model)
{
try
{
_cService.SaveContact(model, applicationID);
return RedirectToAction("Index");
}
catch
{
return Json(new GridModel());
}
}
public virtual JsonResult GetParents()
{
return GetContactsByType(2);
}
public virtual JsonResult GetContactsByType(int? id)
{
List<contact> list;
if (id.HasValue)
list= _cService.GetContactCollections(applicationID).Where(x => x.ContactTypeId == id.Value).ToList();
else
list = _cService.GetContactCollections(applicationID).ToList();
return new JsonResult
{
Data = list,
JsonRequestBehavior = JsonRequestBehavior.AllowGet, // you may or may not need this line, depending upon your server config
};
}</contact>
and following Code in my view
@(Html.Telerik().Grid(Model)
.Name("Contact")
// .ToolBar(commands => commands.Insert())
.DataKeys(keys => keys.Add(c => c.Id))
.DataBinding(dataBinding =>
{
dataBinding.Ajax()
.Update("Edit", "Contact", new { mode = GridEditMode.InForm, type = GridButtonType.Text })
.Delete("Delete", "Contact", new { mode = GridEditMode.InLine, type = GridButtonType.Text });
})
.Columns(columns =>
{
columns.Command(commands =>
{
commands.Edit().ButtonType(GridButtonType.Text);
commands.Delete().ButtonType(GridButtonType.Text);
}).Width(180).Title("Manage");
columns.Template(o=> @Html.ActionLink(o.LastName, "Details",new {id=o.Id})).Title("LastName").Width(130);
columns.Bound(o => o.FirstName).Width(160);
columns.Bound(o => o.Address).Width(110);
columns.Bound(o => o.CellPhone).Width(110);
columns.Bound(o => o.HomePhone).Width(110);
})
What I can do this Error, this error arise using Alert box, I have tried Modifying telerik.grid.min.js I have removed the line that,then it does not shows me error but also does not work.
Can somebody please give me Some suggestions.
Thank You