2011-10-22 35 views
1

我看到這個網站有很多相關的問題。但仍然無法爲我的要求做這項工作。成功調用函數後,使用Ajax調用刷新Telerik MVC 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'); 
} 

回答

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

這個工作還是我

0

需要,爲什麼不調用成功回調先排除故障。也許有一個錯誤。您可以嘗試處理$.ajaxerror以查看響應的內容。您還可以使用一些HTTP嗅探工具(WebKit的開發人員工具,FireBugFiddler)來檢查服務器響應的內容。

當你理清沒有被調用的成功處理程序時,可以使用網格的ajaxRequest方法來刷新它。

+0

我能解決我的問題。請檢查我已經更新的解決方案頂部 – HaBo

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'); 
    } 
+0

這是真的,在我的情況下,我只有一個網格在一個頁面中,我用這個refreshGrid()作爲一個廣義函數來調用它時,我需要刷新。 – HaBo

+0

在這種情況下,您可以傳遞參數函數refreshGrid(myGrid){(「#」+ myGrid +「.t-grid .t-refresh」)。trigger('click'); } – adyusuf

+0

好。絕對是更好的方法 – HaBo

0

對於服務器綁定Telerik的網格只需要做以下的事情.....只要使用和歡呼聲

任何事件後你可以調用這個

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

重裝電網用這個成功Ajax調用後

var optionsGrid = $(「#favorite-grid」); //你的網格ID

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

享受