2

Hi i started working on JQgrid, and it works fine for add,search and all, but when i delete the record its fetching me the error as my post says. its not entering to the delete and edit controller action itself, i checked by putting break points in there. My code looks like View {

  <table id="jQGridDemo">
    </table>
    <div id="jQGridDemoPager">
    </div>
    <script type="text/javascript">
          jQuery("#jQGridDemo").jqGrid({
              url: 'RTGUser/GetUserDetails',
              datatype: "json",
              colNames: ['Id', 'Name', 'Designation', 'City'],
              colModel: [
             { name: 'Id', index: 'Id', width: 40, align:'center', sortable: true, editable:false},
              { name: 'Name', index: 'Name', width: 40, align: 'center', sortable: true, editable: true, edittype: 'text', editrules: { required: true} },
              { name: 'Designation', index: 'Designation', width: 400, align: 'center', sortable: true, editable: true, edittype: 'text', editrules: { required: true} },
              { name: 'City', index: 'City', width: 150, align: 'center', sortable: true, editable: true, edittype: 'text', editrules: { required: true} }
              ],

            mtype: 'POST',
            loadonce: true,
            rowList: [5,10, 20, 30],
            pager: '#jQGridDemoPager',
            sortname: 'Id',
            viewrecords: true,
            sortorder: 'desc',
            caption: "List Of Users"

        });

        jQuery("#jQGridDemo").jqGrid('navGrid', '#jQGridDemoPager',
      { edit: true, add: true, del: true, search:true },
           { url: "/RTGUser/EditUser", closeAfterEdit: true, beforeShowForm: function (formid) { $("#Id", formid).hide(); } },
           { url: "/RTGUser/AddNewUser", closeAfterAdd: true, beforeShowForm: function (formid) { $("#Id", formid).hide(); } },
           { url: "/RTGUser/DeleteUser" }, {});

        $("#search").filterGrid("#grid", {
            gridModel: false,
            filterModel: [{
                label: 'Search',
                name: 'search',
                stype: 'text'
            }]
        });

    </script>
</body>

}

and my controller looks like {

   public ActionResult EditUser(int userId, string name, string desig, string city)
        {
            try
            {
                var query = from u in db.Users
                            where u.Id.Equals(userId)
                            select u;

                var user = query.First();
                user.Name = name;
                user.Designation = desig;
                user.City = city;
                db.SaveChanges();

                return Json(true);
            }
            catch (Exception)
            {
                // Do some error logging stuff, handle exception, etc.
                return Json(false);
            }
        }

  public ActionResult DeleteUser(int userId)
        {
            try
            {
                var query = from u in db.Users
                            where u.Id.Equals(userId)
                            select u;

              //  var user = query.First();
                var usr = db.Users.Find(Convert.ToInt32(userId));
                db.Users.Remove(usr);
                db.SaveChanges();

                return Json(true);
            }
            catch (Exception e)
            {
                // Do some error logging stuff, handle exception, etc.
                Response.Write(e);
                return Json(false);
            }
}

} please suggest me the way to solve this.

4

1 に答える 1

0

Firefox/Firebug または IE8 開発者ツールを使用して、サーバーから取得している実際の応答を確認します。何線で倒れますか?見つけたら、おそらくエラーを見つけるでしょう。

于 2014-08-05T08:37:23.997 に答える