Click here to Skip to main content
15,880,796 members
Please Sign up or sign in to vote.
4.50/5 (2 votes)
See more:
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
SQL
[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
SQL
@(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
Posted
Comments
Christian Graus 18-Jul-12 19:06pm    
Given that you've bought the Telerik library, I'd think their support would be the best place to look for help with their controls
Christian Graus 18-Jul-12 19:07pm    
Looks like you've asked this on every site on the web, except the Telerik site...

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900