Telerik MVC Обновление сетки с помощью функции jQuery - PullRequest
4 голосов
/ 18 октября 2011

Привет, у меня есть две сетки MVC Telerik, отображаемые в одном представлении.

Каждая сетка имеет настраиваемый столбец с ссылкой редактирования

Когда пользователь щелкает ссылку редактирования, появляется диалоговая модель сФорма и после того, как пользователь нажимает кнопку Сохранить.Ниже скрипт будет работать

 function OpenStopForm() {

    $("#dialog:ui-dialog").dialog("destroy");
    $("#dialog-model").dialog({
        height: 220,
        width: 340,
        modal: true,
        buttons: {
            "Save": function () {
                var note = $('textarea[name=StopNote]').val();
                $.ajax({
                    type: "POST",
                    url: "/Medication/StopMedication",
                    data: { ID: pid, StopNote: note },
                    dataType: "json",
                    success: refreshGrid()
                });
                $(this).dialog("close");
            },
            Cancel: function () {
                $(this).dialog("close");
            }
        }
    });

}

после того, как вышеуказанная функция будет успешно запущена,Я хочу, чтобы Две Telerik Grids обновились с каким-то вызовом Ajax.я хотя бы вызова функции, как это success: refreshGrid

function refreshGrid() {
     $('#CurrentMedication').data('t-grid').ajaxRequest();
}

Но функция refreshGrid вызывается до того, как будет выполнено действие моего контроллера.Я хочу, чтобы эта функция вызывалась после завершения действия моего контроллера.

Я не уверен, правильный ли мой синтаксис!.

Я пытался что-то сделать из здесь

Может ли кто-нибудь помочь мне, как вызвать функцию refreshgrid в случае успеха на ajax Post.Также, пожалуйста, исправьте меня с моей функцией обновления сетки.

Ответы [ 2 ]

10 голосов
/ 25 октября 2011

Я изменил свой вызов ajax, как показано ниже

  $.ajax({
                type: "POST",
                url: "/Medication/StopMedication",
                data: { ID: pid, StopNote: note },
                dataType: "text",
                success: function (data) {
                refreshGrid();
                }
          })

Моя сетка обновления выглядит следующим образом

function refreshGrid() {
$(".t-grid .t-refresh").trigger('click');
}
0 голосов
/ 02 октября 2014

Если кто-то ищет это, то небольшое обновление должно называться как

$(".k-grid .k-pager-refresh").trigger('click');
...