2014-10-09 29 views
0

當使用ASP.NET WebGrid分頁和排序工作時,通過將特定查詢字符串附加到包含名稱和值的頁面上,該頁面包含頁碼,排序方向等。 但是,當使用ajaxUpdateId屬性可以異步更新WebGrid時, 當單擊頁腳頁面或單擊標題對列進行排序時,它可以正常工作,但查詢字符串不再附加到URL,刷新瀏覽器頁面後不會持續分頁和排序。 有沒有辦法通過ajax更新WebGrid時保持排序和分頁值? 對於任何有用的建議提前致謝如何在通過ajax更新時在ASP.NET MVC WebGrid中持久化排序和分頁?

回答

0

我想我找到了解決方案。也許它不是完美的,但它的工作原理。我花了很多時間試圖弄清WebGrid在通過ajax進行更新時的工作方式,但是所有這些功能都是隱藏的。 因此,即使刷新頁面時仍需要繼續排序和分頁,每次更改頁面或排序時都必須更新URL。 WebGrid通過URL中的查詢字符串記住它。 因此,我添加了一個jQuery點擊事件到WebGrid中的所有鏈接,並使用history.pushState函數來保存點擊的網址,然後刷新頁面(你需要這樣做,因爲它只會對一個變化起作用,因爲ajax不會改變URL)

<script type="text/javascript"> 
    $("#gridContainderID a").click(function() { 
     history.pushState(null, null, this.href); 
     location.reload(); 
    }); 
    </script> 
0

我已經能夠使用此代碼做到這一點: (注意返回false)

$('#gridContent tfoot a[href]').click(function() { 
     history.replaceState({}, null, this.href); 
     return false; 
}); 
相關問題