ASP.NET Web API教程(四) 分頁查詢


  看過前三篇文章的朋友,應該對Asp.net Web api 有個初步的了解,起碼了解了web api的編碼方式。那么這一篇就分享一下web api中的分頁。話不多說,直接上硬貨。
  接下來的內容都是在上一篇中的擴展,所以找不到的資料可以從上一篇中下載到。
  首先增加支持分頁的API方法

public IEnumerable<UserInfo> GetUserInfos( int pageindex,  int size)
        {
             return bll.Get().Skip((pageindex -  1) * size).Take(size);
        }


增加一個新頁面
引入js

< script  src ="Scripts/jquery-1.7.1.min.js"  type ="text/javascript" ></ script >
     < script  src ="Scripts/knockout-2.1.0.js"  type ="text/javascript" ></ script >


編寫數據迭代顯示模板

< ul  data-bind ="template: {name: 'userinfoTemplate', foreach: userinfos}" >
         </ ul >


UL為數據迭代容器模板

< script  id ="userinfoTemplate"  type ="text/html" >
            
< li class = " userinfo " >
                    
< div class = " info " >                         
                        
< strong >< span data - bind = " text: Name " >< / span>< / strong >
                       
< span data - bind = " text: Age " >< / span>
                     < / div>
             < / li>
         </ script >


Script id=’ userinfoTemplate’為數據項模板

編寫獲取分頁操作面板

< fieldset >
< label ></ label >< input  type ="text"  id ="pageIndex"   />< label ></ label >< br  />
< label ></ label >< input  type ="text"  id ="pageSize"   />< label >條一頁 </ label >< br  />
< input  type ="button"  value ="獲取"  id ="getButton"   />
</ fieldset >


開始編寫js根據輸入的頁碼和每頁的數量獲取

< script  type ="text/javascript" >
        viewModel 
=  {
            userinfos: ko.observableArray([])
        };
        ko.applyBindings(viewModel);
        $(
" #getButton " ).click( function  () {
            viewModel.userinfos([]);
            
var  pageSize  =  $( ' #pageSize ' ).val();
            
var  pageIndex  =  $( ' #pageIndex ' ).val();
            
var  url  =   " /api/userinfo?pageindex= "   +  pageIndex  +   ' &size= '   +  pageSize;

            $.getJSON(url, 
function  (data) {
                
//  根據路徑得到數據
                viewModel.userinfos(data);
            });

            
return   false ;

        });   
    
</ script >

 

最終運行得到結果獲取第一頁,每一頁1條的情況下



獲取第一頁,每頁2條的情況下

本篇源碼下載:

/Files/risk/web api 4/MvcApplication1.rar



 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM