2017-09-15 83 views
0

我試圖管理一個使用ajax調用的列表,第一次加載一切都很好,因爲搜索按鈕使加載第一頁結果的ajax調用成爲可能。問題是當我創建PagedListPager時,它調用控制器函數,導致頁面重置並且結果消失。我可以創建一個不調用函數的PagedListPager

所以我想要做的就是創建PagedListPager只是沒有動作的按鈕,並使用Javascript來處理這些按鈕上的點擊。有沒有人知道一個方法去解決這個問題?

回答

0

我找不到使用PagedListPager的解決方案。該PagedListPager創建一個無序的列表,這是我的觀點重新與像這樣一個空白鏈接:

<a href="">/</a> 

這是非常有用的,因爲它保持在JavaScript上的其他PagedLists用在site.Then的樣式,覆蓋李單擊事件,像這樣:

$(document).on("click", "li", function (event) 

現在我可以從每個李令Ajax調用,而無需刷新每次頁面。 希望這可以幫助一些人!

更優雅的解決方案是用一個id

<ul id="pagingbuttons" class="pagination"> 

創建列表,也給IDS到列表裏面的li元素。 所以現在從JavaScript覆蓋只是該列表這樣

$(document).on('click', '#pagingbuttons', function(event) 

然後我們任何按鈕被點擊就可以得到像這樣

event.target.text 

其id值這將停止任何其他li元素的click事件同一頁面無意中觸發ajax調用。

0

你可以使用這個JavaScript庫(這是我寫的):https://github.com/pjbonestroo/PagedList

它解決了重裝,分頁等方面的問題,是完全可定製。它包括文檔。

它會自動調用您的控制器函數與ajax調用,或者如果您願意,您可以在客戶端添加數據。

它也有一些很好的特性,如

  • 過濾和排序(客戶端或服務器端,如優選的)
  • 去抖動,以防止過多的刷新
  • 自定義的按鈕和定型的,依賴於行的數據
  • 很容易地添加/刪除事件偵聽器行(並獲得觸發行的數據)

關於您的問題,請特別注意可定製的按鈕,以便使用Javascript處理按鈕上的點擊。

相關問題