выполнение контроллера MVC с использованием вызова Jquery или Ajax - PullRequest
0 голосов
/ 11 апреля 2019

Я пытаюсь имитировать Mvc ActionLink. Я хочу, чтобы весь ряд был кликабельным. при нажатии на ссылку action вызывается подключенный контроллер и выполняется код внутри. Я хочу, чтобы мой вызов Jquery / ajax делал то же самое.

Я пробовал несколько способов сделать это без удачи. Сейчас я нахожусь в точке, где строка кликабельна, и Jquery это видит, однако вызов ajax не выполняется. Или, если это так, контроллер не выполняется правильно

Вот код Jquery, который ловит щелчок.

$(document).ready(function () {
    $('#policyTable').on('click', '.clickable-row', function (event) {
        $(this).addClass('primary').siblings().removeClass('primary');
        var Id = $(this).closest('tr').children('td:first').text();
        var url = "/Home/ReviewPolicy";
        var uc = $(this).closest('tr').children('td:first').text();
        alert("Does the click work? " + Id);
        $.ajax({
            type: "POST",
            url: "/Home/ReviewPolicy",
            dataType: 'text',
            data: { Id: Id }
        });
    })


})

Вот контроллер, который он вызывает:

[HttpPost]
    public ActionResult ReviewPolicy(string Id)
    {
        //Declare policyVM for individual policy
        PolicyRenewalListVM model;
        int val = Convert.ToInt32(Id);

        using (Db db = new Db())
        {
            //Get the row
            PolicyRenewalListDTO dto = db.RenewalPolicies.Find(val);

            //confirm policy exists
            if (dto == null)
            {
                return Content("This policy cannot be found.");
            }

            //initialize the PolicyRenewalListVM
            model = new PolicyRenewalListVM(dto);

        }

        //return view with model
        return View(model);
    }

При щелчке по самой ссылке (она отсутствует в коде, поскольку я не считаю, что это необходимо для этой проблемы), она срабатывает, и все работает как надо, но вызов jquery отправляет то же значение (Id ) нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...