• 分页


    API的控制器

    DAL

    /// <summary>
    /// 万能
    /// </summary>
    /// <param name="Pageindex"></param>
    /// <param name="Pagesize"></param>
    /// <returns></returns>
    public PageList<stuModel> Getlist2(int pageindex, int pagesize,string where="")
    {
    var Totcounts = 0;
    //var pp = db.GetpageList(Pageindex, Pagesize,out Totcount);

    SqlCommand cmd = new SqlCommand("Proc_stu", conn);
    cmd.CommandType = CommandType.StoredProcedure;

    cmd.Parameters.Add(new SqlParameter("@PageIndex", SqlDbType.Int)).Value = pageindex;

    cmd.Parameters.Add(new SqlParameter("@PageSize", SqlDbType.Int)).Value = pagesize;
    cmd.Parameters.Add(new SqlParameter("@order", SqlDbType.NVarChar, 100)).Value = "id";
    cmd.Parameters.Add(new SqlParameter("@totName", SqlDbType.NVarChar, 100)).Value = "stu";
    var name = "";
    if (!string.IsNullOrWhiteSpace(where))//判断
    {
    name += " where 1=1 and name like ''%" + where + "%'' ";
    }
    //if (type > 0)//判断
    // name += " AND s.TypeID=" + type;

    cmd.Parameters.Add(new SqlParameter("@where", SqlDbType.NVarChar, 1000)).Value = name;

    cmd.Parameters.Add(new SqlParameter("@Tocount", SqlDbType.Int));
    //参数
    cmd.Parameters["@Tocount"].Direction = ParameterDirection.Output;

    SqlDataAdapter dr = new SqlDataAdapter(cmd);
    DataTable ds = new DataTable();
    dr.Fill(ds);
    Totcounts = Convert.ToInt32(cmd.Parameters["@Tocount"].Value);//接收存储过程返回的总条数

    var reust = JsonConvert.SerializeObject(ds);
    var reust2 = JsonConvert.DeserializeObject<List<stuModel>>(reust);

    PageList<stuModel> ss = new PageList<stuModel>();
    ss.page = reust2;
    ss.PageIndex = pageindex;
    ss.PageSize = pagesize;
    if (Totcounts % pagesize == 0)
    {
    ss.Tocount = Totcounts / pagesize;
    }
    else
    {
    ss.Tocount = Totcounts / pagesize + 1;
    }
    return ss;
    }

    BLL

    public PageList<stuModel> Getlist2(int pageindex, int pagesize,string where = "")
    {
    return dal.Getlist2(pageindex,pagesize,where);
    }

    嵌套类

    namespace Model
    {
    public class PageList<T>
    {
    public int PageIndex { get; set; }
    public int PageSize { get; set; }
    public int Tocount { get; set; }

    public List<T> page { get; set; }
    }
    }

    API控制器

    config.EnableCors();

    using System.Web.Http.Cors;
     
    [EnableCors("*","*","*")]
    public class showApiController : ApiController
    {
    // GET: api/showApi
    [HttpGet]
    public PageList<stuModel> Get(int pageindex, int pagesize,string where = "")
    {

    var p= new BLL.stuBLL().Getlist2(pageindex,4,where);
    return p;
    }

    mvc

    <input id="Text1" type="text" />
    <input id="Button1" type="button" value="查询" onclick="cha()" />
    <div>
    <table>
    <tr>
    <td>编号</td>
    <td>名称</td>
    <td>性别</td>
    <td>年龄</td>
    <td>操作</td>
    </tr>
    <tbody id="idname"></tbody>
    </table>
    </div>
    <div id="pageHtml">

    </div>
    <script>
    show(1, "pageHtml");

    function show(pageindex,pageHtml,name)
    {

    debugger;
    $.ajax({
    url: "http://localhost:3778/api/showApi/",
    type: "Get",
    data: { pageindex: pageindex, pagesize: 4, where:name},
    dataType: "json",
    success: function (data) {
    alert(data);

    var str = "";
    for (var i = 0; i < data.page.length; i++) {
    str += "<tr>";
    str += "<td>" + data.page[i].id + "</td>";
    str += "<td>" + data.page[i].name + "</td>";
    str += "<td>" + (data.page[i].sex == true ? "男" : "女") + "</td>";
    str += "<td>" + data.page[i].age + "</td>";
    str += "<td><input class='del' onclick='del(" + data.page[i].id + ")' type='button' value='删除' /></td>";
    str += "<td><input class='upd' onclick='upd(" + data.page[i].id + ")' type='button' value='修改' /></td>";
    str += "</tr>";
    }
    $("#idname").html(str);

    // 没有页码的分页
    //分页按钮
    debugger;
    var totalPage = data.Tocount
    var page = "";
    //计算上一页
    var lastPage = pageindex < 2 ? 1 : pageindex - 1;
    //计算下一页
    var nextPage = pageindex == totalPage ? totalPage : pageindex + 1;

    page += " 当前页:<span style="color:red;font-size:18px;" >" + pageindex + "/" + totalPage + "</span>总页数";
    page += " <span onclick="show(1)">首页</span>";
    page += " <span onclick="show(" + lastPage + ")">上一页</span>";
    page += " <span onclick="show(" + nextPage + ")">下一页</span>";
    page += " <span onclick="show(" + totalPage + ")">尾页</span>";

    $("#pageHtml").html(page);
    }
    })
    }
    function cha()
    {
    var name = $("#Text1").val();
    show(1, "pageHtml",name);
    }

  • 相关阅读:
    Python装饰器
    Python函数学习
    delphi 面向对象实用技能教学一(递归)
    delphi 给EXE文件增加区段
    delphi 微信(WeChat)多开源代码
    dephi FillChar 的几种写法
    delphi 线程教学第七节:在多个线程时空中,把各自的代码塞到一个指定的线程时空运行
    delphi 线程教学第六节:TList与泛型
    delphi 线程教学第五节:多个线程同时执行相同的任务
    delphi 线程教学第四节:多线程类的改进
  • 原文地址:https://www.cnblogs.com/net520/p/7880936.html
Copyright © 2020-2023  润新知