Ajax: удалить запись из базы данных в asp.net mvc без перезагрузки страницы - PullRequest
0 голосов
/ 06 декабря 2018

Я пытаюсь удалить базу данных мобильной формы, например MS SQL Server в ASP.NET MVC .Я сделал это успешно с помощью Ajax .Но мне нужно перезагрузить страницу, тогда она покажет мне правильные результаты.

Index.cshtml

$(function () {
        $(".DeleteMobile").click(function () {
            var DeleteId = $(this).data("deleteid");
            debugger;
            $.ajax({
                url: "/Mobile/DeleteMobile/" + DeleteId,
                type: "Post"
            }).done(function () {
                getAllMobiles();
                }).error(function () {
                    alert("Something Went Wrong.");
                });
        });
    });
    function getAllMobiles() {
        $.ajax({
            url: "/Mobile/Index",
            type: "Get"
        }).done(function () {
            alert("All Mobiles get");
        });
    }

Моя проблема в приведенном выше коде.Я никогда не хочу перезагрузить страницу после нажатия на кнопку удаления. MobileController.cs

    public ActionResult Index()
            {
                MobileHandler mh = new MobileHandler();
                List<Mobile> Mobiles = mh.GetMobiles();
                return View(Mobiles);
            }
    public ActionResult DeleteMobile(int id)
        {
            MobileHandler mh = new MobileHandler();
            mh.DeleteMobile(id);
            return RedirectToAction("Index");
        }

Кто-нибудь, пожалуйста, предложите мне, что мне делать?

Ответы [ 2 ]

0 голосов
/ 20 декабря 2018

Я решил свою проблему.Просто добавив несколько строк кода в моем случае.Как вы можете видеть ниже.

$(function () {
        $(".DeleteMobile").click(function () {
            var button = $(this);
            var DeleteId = $(this).data("deleteid");
            debugger;
            $.ajax({
                url: "/Mobile/DeleteMobile/" + DeleteId,
                type: "Post"
            }).done(function () {
                $(button).parents("tr").remove();
                }).error(function () {
                    alert("Something Went Wrong.");
                });
        });
    });

вместо этого кода

$(function () {
        $(".DeleteMobile").click(function () {
            var DeleteId = $(this).data("deleteid");
            debugger;
            $.ajax({
                url: "/Mobile/DeleteMobile/" + DeleteId,
                type: "Post"
            }).done(function () {
                getAllMobiles();
                }).error(function () {
                    alert("Something Went Wrong.");
                });
        });
    });
    function getAllMobiles() {
        $.ajax({
            url: "/Mobile/Index",
            type: "Get"
        }).done(function () {
            alert("All Mobiles get");
        });
    }
0 голосов
/ 06 декабря 2018

с помощью вызова ajax вы можете использовать json result для передачи данных или результата от контроллера, вы не можете перенаправить на любой другой метод действия, однако вы можете достичь этого с помощью этого изменения в вашем контроллере

public JsonResult DeleteMobile(int id = 0)
{
      MobileHandler mh = new MobileHandler();
      mh.DeleteMobile(id);
      // if data is deleted then return true else return false
      return Json(true, JsonRequestBehavior.AllowGet);
}

$(function () {
    $(".DeleteMobile").click(function () {
        var DeleteId = $(this).data("deleteid");

        $.ajax({
            url: "/Mobile/DeleteMobile/" + DeleteId,
            type: "Post"
        }).done(function (result) {
            if (result == 'True') {
                alert('data is deleted successfully');
            }
            else {
                alert('Error Please Try again..');
            }

        }).error(function () {
            alert("Something Went Wrong.");
        });
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...