天天看點

【開源】QuickPager ASP.NET2.0分頁控件V2.0.0.7 增加了一個js函數的分頁方式。

     昨天在csdn上看到一個人提出來了一種分頁的需求,大緻是分頁控件隻負責繪制總頁數、上一頁、下一頁等資訊,然後在使用者翻頁的時候可以觸發一個js函數,然後自己實作這個js函數。并不需要送出表單,他想用ajax的方式來擷取資料,但是又不想使用微軟的ajax。

     大概的需求就是這樣的(至少我的了解是這樣的),不知道吳旗娃的分頁控件是不是支援這種需求。不過我的分頁控件還沒有涉及到ajax,原因是我還不會用ajax,那麼是不是可以先實作這種需求呢?想了一下,比較簡單,隻要繼承PageUI類,寫一個UI_JS子類,在這個子類裡面override幾個函數就可以了。好先試一下。大約半個小時之後,ok。達到了自己想要的目的。

     分頁控件在這種方式下負責的事情:繪制總記錄數,總頁數,第幾頁,首頁,末頁,上一頁,下一頁,還有在翻頁的時候觸發一個js函數,不會觸發表單送出。

【開源】QuickPager ASP.NET2.0分頁控件V2.0.0.7 增加了一個js函數的分頁方式。

private void SetPagerInfo()

【開源】QuickPager ASP.NET2.0分頁控件V2.0.0.7 增加了一個js函數的分頁方式。
【開源】QuickPager ASP.NET2.0分頁控件V2.0.0.7 增加了一個js函數的分頁方式。
【開源】QuickPager ASP.NET2.0分頁控件V2.0.0.7 增加了一個js函數的分頁方式。

{

【開源】QuickPager ASP.NET2.0分頁控件V2.0.0.7 增加了一個js函數的分頁方式。

        //設定成自定義方式,這種方式分頁控件不擷取資料,需要自己擷取資料。

【開源】QuickPager ASP.NET2.0分頁控件V2.0.0.7 增加了一個js函數的分頁方式。

        myPager.SetRunKind = JYK.Controls.Page.myPageRunKind.Customer;

【開源】QuickPager ASP.NET2.0分頁控件V2.0.0.7 增加了一個js函數的分頁方式。
【開源】QuickPager ASP.NET2.0分頁控件V2.0.0.7 增加了一個js函數的分頁方式。

        //設定成js函數的分頁方式

【開源】QuickPager ASP.NET2.0分頁控件V2.0.0.7 增加了一個js函數的分頁方式。

        myPager.SetUIKind = JYK.Controls.Page.myPageUIKind.JS;

【開源】QuickPager ASP.NET2.0分頁控件V2.0.0.7 增加了一個js函數的分頁方式。
【開源】QuickPager ASP.NET2.0分頁控件V2.0.0.7 增加了一個js函數的分頁方式。

        //設定總記錄數,需要自己得到總記錄數。

【開源】QuickPager ASP.NET2.0分頁控件V2.0.0.7 增加了一個js函數的分頁方式。

        myPager.SetPageRecordCount = 90;        //假設有90條記錄

【開源】QuickPager ASP.NET2.0分頁控件V2.0.0.7 增加了一個js函數的分頁方式。
【開源】QuickPager ASP.NET2.0分頁控件V2.0.0.7 增加了一個js函數的分頁方式。

        //下面的屬性就可以不用設定了。

【開源】QuickPager ASP.NET2.0分頁控件V2.0.0.7 增加了一個js函數的分頁方式。
【開源】QuickPager ASP.NET2.0分頁控件V2.0.0.7 增加了一個js函數的分頁方式。
【開源】QuickPager ASP.NET2.0分頁控件V2.0.0.7 增加了一個js函數的分頁方式。

    }

     設定這三個屬性就可以了。然後需要在aspx頁面裡面寫一個js函數來實作提取資料的代碼,這個就要自己實作了。

var PageIndex =0;

        function jsClick(index)

        {

            var a = document.getElementById("f_Index");

            var b = document.getElementById("f_PageCount");

            //alert(a.innerText);

            PageIndex = a.innerText * 1;

            var PagerCounr = b.innerText * 1

            //index的值:a,首頁;b,上一頁;c,下一頁;d,末頁

            switch (index)

            {

                case "a":

                    alert("使用者想翻到首頁");

                    PageIndex = 1;

                    break;

                case "b":

                    alert("使用者想翻到上一頁");

                    PageIndex = PageIndex -1;

                case "c":

                    alert("使用者想翻到下一頁");

                    PageIndex = PageIndex +1;

                case "d":

                    alert("使用者想翻到末頁");

                    PageIndex = PagerCounr;

            }        

            if (PageIndex < 1) PageIndex =1;

            if (PageIndex > PagerCounr) PageIndex = PagerCounr;

            a.innerText = PageIndex;  //設定翻頁後的頁數

            //這裡隻是一個我的想法,如果您有更好的,那麼可以改成你的。

        }

     不知道這麼做是不是能能夠滿足他的需求。不過下一步我想讓分頁控件也能夠實作在ajax(準确的說是xmlHttp)下自己擷取資料。

繼續閱讀