简体   繁体   中英

error Status: 'Internal Server Error'. Error code: 500 in MVC4 JQgrid Edit and Delete

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.

Use Firefox/Firebug or the IE8 developer tools to look at the actual response you are getting from the server. On what line does it fall over? Once you find out, you'll probably find your error.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM