zoukankan      html  css  js  c++  java
  • .net MVC4 来一个简单的分页代码

    action

     VodeEntities db = new NewVode.Models.VodeEntities();
            int pagesize = 3;
            public ActionResult Index(string title, int page = 1)
            {
                var sql = "select * ,row_number() over ( order by id desc ) as rownum from vode";
    
                if (!string.IsNullOrEmpty(title))
                {
                    sql = string.Format("{0} where title like '%{1}%'", sql, title);
                }
    
                var conn = db.Database.Connection;
                var sql2 = string.Format("select top {1} * from ({0}) as a where a.rownum>({2}-1)*{1} and a.rownum<={1}*{2}", sql, pagesize, page);
                var list = conn.Query<Vode>(sql2);
    
                ViewBag.curPage = page;
                var total = conn.QueryFirst<int>("select count(id) from (" + sql + ") as a");
                ViewBag.curPageTotal =Math.Ceiling((double)( total / pagesize));
                ViewBag.stitle = title;
                return View(list);
            }

    html

    @model IEnumerable<NewVode.Models.Vode>
    @{
        ViewBag.Title = "Index";
    }
    
    <script src="~/Scripts/jquery-1.8.2.js"></script>
    <h2>Index</h2>
    <form action="/home/index" method="post">
    
        标题: <input name="title" id="title" value="@ViewBag.stitle" />
        <input type="button" value="查询 " id="btnSearch"/>
        <input type="hidden" id="page" name="page" value="@ViewBag.curPage" />
        @if (Model.Count() == 0)
        {
            <div>
                无数据
            </div>
        }
        else
        {
            <div>
    
                @foreach (var item in Model)
                {
                    <div>
                        @item.title
                    </div>
                }
                <div id="pagebar">
    
                    <a href="javascript:;" onclick="goto(-1)" id="prev">上一页</a>
                    <a href="javascript:;" onclick="goto(1)" id="next">下一页</a>
                    <select>
                        @for (int i = 1; i <= ViewBag.curPageTotal; i++)
                        {
                            <option value="@i">@i</option>
                        }
                    </select>
                </div>
            </div>
        }
    
    </form>
    
    <script>
        var curpage = parseInt( @ViewBag.curPage);
        var total = parseInt(@ViewBag.curPageTotal);
        
        if (total <=1) {
            $("#pagebar").hide();
        } else {
            if (curpage == 1) {
                $("#prev").disabled = true;
            }
            if (curpage == total) {
                $("#next").hide();
            }
        }
        function goto(v) {
            var n = curpage + v;
            if (n <= 0) {
                alert("已经是第一页了");
            }
            else if (n > total) {
                alert("已到最后一页了");
            }
            else {
                $("#page").val(n);
                $("form").submit();
            }
        }
        $("form select").val(curpage).change(function () {
            $("#page").val($(this).val());
            $("form").submit();
    
        });
        $("#btnSearch").click(function () {
            $("#page").val(1);
            $("form").submit();
        })
    </script> 
  • 相关阅读:
    C#密封类和密封方法
    C#类和结构以及堆和栈大烩菜(本来就迷,那就让暴风来的更猛烈吧!)
    C#类、对象、方法、属性详解(摘)感谢博客园,感谢提供者。
    软件工程第十五周总结
    软件工程课堂十一(计算最长英语单词链)
    软件工程第十四周总结
    梦断代码阅读笔记03
    软件工程课堂十(找水王)
    软件工程课堂九(用户体验评价)
    软件工程第十三周总结
  • 原文地址:https://www.cnblogs.com/lunawzh/p/8998397.html
Copyright © 2011-2022 走看看