成功调用函数后,使用Ajax调用刷新Telerik MVC Grid?

时间:2011-10-22 20:27:45

标签: jquery telerik-grid

我看到这个网站有很多相关的问题。但是我仍然无法满足我的要求。

这是我的ajax电话

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

我的刷新网格就像这样

  function refreshGrid() {
        alert("I am at Refresh Grid");
        if ($(".t-grid .t-refresh").exists()) {
            $(".t-grid .t-refresh").trigger('click');
        }
    }

首先,成功后我的ajax调用不会触发refreshGrid()函数。 任何人都可以帮助我

我找到了问题并修复了它:

<小时/> 我做了这些修改

 dataType: "text",
  success: function (data) {
       refreshGrid();
  }

 function refreshGrid() {
   $(".t-grid .t-refresh").trigger('click');
}

5 个答案:

答案 0 :(得分:4)

重新加载网格使用此成功ajax调用

  

var optionsGrid = $(“#favorite-grid”); //你的网格ID

     

optionsGrid.data( 'tGrid')ajaxRequest();

享受

答案 1 :(得分:0)

您需要首先解决为什么不调用成功回调的问题。也许有一个错误。您可以尝试处理$.ajax error来查看响应内容。您还可以使用一些HTTP嗅探工具(WebKit的开发人员工具FireBugFiddler)来检查服务器响应是什么。

当你排除未被调用的成功处理程序时,你可以使用网格的ajaxRequest方法来刷新它。

答案 2 :(得分:0)

function refreshGrid() {
        $(".t-grid .t-refresh").trigger('click');
   }

这有用还是我

答案 3 :(得分:0)

以这种方式

   function refreshGrid() {
        $(".t-grid .t-refresh").trigger('click');
   }
如果您有多个网格,它会刷新您网页上的所有网格。即使细节网格也会刷新。

为防止这种情况,您可以使用网格的ID

@(Html.Telerik().Grid(Model)
    .Name("myGrid")
    .Columns(columns =>
    {
        columns.Bound(o => o.OrderID).Width(100);
        columns.Bound(o => o.ContactName).Width(200);
        columns.Bound(o => o.ShipAddress);
        columns.Bound(o => o.OrderDate).Format("{0:MM/dd/yyyy}").Width(120);
    })
..........
..........
..........
)

   function refreshGrid() {
        $("myGrid .t-grid .t-refresh").trigger('click');
   }

答案 4 :(得分:0)

对于服务器绑定Telerik Grid只需要执行以下操作.....只需使用和欢呼

任何事件发生后你都可以打电话给

 var href = $('.t-refresh').attr('href');
 window.location.href = href;