• 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



     

    作者:risk
    出处:http://www.cnblogs.com/risk
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    isequal 和startswith 使用
    UVa10340
    UVa1368
    UVa455
    UVa1225
    UVa1586
    UVa 1585
    UVa10082
    UVa272
    NYOJ1
  • 原文地址:https://www.cnblogs.com/risk/p/2658164.html
Copyright © 2020-2023  润新知