c# mvc webGrid 无刷新分页「建议收藏」

c# mvc webGrid 无刷新分页「建议收藏」参考地址:http://www.dotnetcurry.com/ShowArticle.aspx?ID=618一、webGrid.css.webGrid{margin:4px;border-collapse:collapse;/*width:300px;*/}.header{background-color:#E8E8E8;font-weight:bold;color:#FFF;}.head{

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

参考地址:http://www.dotnetcurry.com/ShowArticle.aspx?ID=618

一、webGrid.css
.webGrid
{

    margin: 4px;
    border-collapse: collapse; /*width: 300px;*/
}
.header
{

    background-color: #E8E8E8;
    font-weight: bold;
    color: #FFF;
}
.head
{

    background-color: #E8E8E8;
    font-weight: bold;
    color:Black;
}

.webGrid th, .webGrid td
{

    width: 190px;
    #width:170px;
    border: 1px solid #C0C0C0;
    padding: 5px;
}
.alt
{

    background-color: #E8E8E8;
    color: #000;
}
.person
{

    width: 200px;
    font-weight: bold;
}

二、Pager.js
var sPath = “”;
$(function () {

    if ($(“#EfficientPaging”) != undefined) {

        sPath = $(“#EfficientPaging”).val();
        $.getJSON(sPath, null, function (d) {

            // add the dynamic WebGrid to the body
            $(“#xwGrid”).append(d.Data);

            // create the footer
            var footer = createFooter(d.Count);

            $(“#DataTable tfoot a”).live(“click”, function (e) {

                e.preventDefault();
                var data = {

                    page: $(this).text()
                };

                $.getJSON(sPath, data, function (html) {

                    // add the data to the table   
                    $(“#DataTable”).remove();
                    $(“body”).append(html.Data);

                    // re-add the footer
                    $(‘#DataTable thead’).after(footer);
                });
            });
        });
    }
});

function createFooter(d) {

    var rowsPerPage = 5;
    var footer = “<tfoot><tr><td style=’border:none’>”;
    for (var i = 1; i < (d + 1); i++) {

        footer = footer + “<a href=#>” + i + “</a>&nbsp;”;
    }
    footer = footer + “</td></tr></tfoot>”;
    $(“#DataTable thead”).after(footer);
    return footer;
}  
三、view
 <link href=”../../Content/css/webGrid.css” rel=”stylesheet” type=”text/css” />
 <script src=”../../Content/jquery/mvcPager/Pager.js” type=”text/javascript”></script>

<input id=”EfficientPaging” name=”EfficientPaging” type=”hidden” value=”/Seller/EfficientPaging” />
    <div id=”xwGrid”>
    </div>
四、Controller
public class SellerController : Controller
{

 private List<Seller> sellPopular;
 [HttpGet]
        public JsonResult EfficientPaging(int? page)
        {

            int icount =10;//每页显示数量

            int skip = page.HasValue ? page.Value – 1 : 0;  //如果page为0默认显示第一页
            sellPopular = SellerAccess.GetSellerList(skip, icount);    //获取当前页显示的数据
            var grid = new WebGrid(sellPopular);
            var htmlString = grid.GetHtml(
               tableStyle: “webGrid”,
               headerStyle: “head”,
               alternatingRowStyle: “alt”,
               columns: grid.Columns(
               grid.Column(“SellerID”, “商家编号”, canSort: false),
               grid.Column(“SellerNick”, “商家昵称”,canSort:false),
                  grid.Column(format: (item) => {

                      return new HtmlString(“<input type=’button’οnclick=’RedirectVersion(” + item[“SellerID”] + “)’ value=’管理版本’/>&nbsp;<input type=’button’ οnclick=’UpSeller(” + item[“SellerID”] + “)’ value=’修改’/>&nbsp;<input type=’button’ value=’删除’οnclick=’DeleteSeller(” + item[“SellerID”] + “)'”);
                  }, columnName: “操作”,canSort:false)
                  ),
                  htmlAttributes: new { id = “DataTable” }
              );
           
            int sellerCount = SellerAccess.GetSellerCount();
            return Json(new
            {

               
                Data = htmlString.ToHtmlString(),
                Count = Math.Ceiling((double)sellerCount/(double)icount)    //计算总页数s
            }, JsonRequestBehavior.AllowGet);
        }
}
五、DataAccess
 /// <summary>
        /// 查询所有商家总数

        /// </summary>
        /// <returns></returns>
        public static int GetSellerCount()
        {

            int sellerCount = 0;
            using (ShopexMobileEntities db = new ShopexMobileEntities())
            {

                try
                {

                   sellerCount=db.Seller.ToList().Count();
                }
                catch (Exception)
                {

                    db.Dispose();
                    return sellerCount;
                }
            }
            return sellerCount;
        }
        /// <summary>
        /// 获取当前页显示的数据
        /// </summary>
        /// <param name=”pageIndex”>当前页</param>
        /// <param name=”count”>每页显示的数量</param>
        /// <returns></returns>
        public static List<Seller> GetSellerList(int pageIndex, int count)
        {

            List<Seller> sellerList = new List<Seller>();
            using (ShopexMobileEntities db = new ShopexMobileEntities())
            {

                try
                {

                     sellerList=db.Seller.OrderBy(o => o.SellerID).Skip(pageIndex * count).Take(count).ToList();
                  
                }
                catch (Exception)
                {

                    db.Dispose();
                    return null;
                }
            }
            return sellerList;
        }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/185643.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Vue组件封装的过程[通俗易懂]

    Vue组件封装的过程[通俗易懂]Vue组件封装的过程vue组件的定义组件(Component)是Vue.js最强大的功能之一 组件可以扩展HTML元素,封装可重用代码在较高层面上,组件是自定义元素,Vue.js的编译器为他添加特殊功能某些情况下,组件也可以表现用`js`特性进行了扩展的原生的HTML元素 所有的Vue组件同时也都是Vue实例,所以可以接受相同的选项对象(除了一些根级特有的选项),并提供相同的生命周期钩子函数vue组件的功能能够把页面抽象成多个相对独立的模块实现代码重用,提高开发效率和代码

    2022年9月24日
    1
  • powerdesigner 画出 C++ UML 增加const,static,virtual属性

    powerdesigner 画出 C++ UML 增加const,static,virtual属性

    2022年3月13日
    70
  • servlet-Cookie与Session

    servlet-Cookie与SessionCookieCookie是服务器通知客户端保存键值对儿的一种技术客户端有了Cookie后,每次请求都发送给服务器每个 Cookie的大小都不超过4kb注意Cookie值不包含空格,方括号,圆括号,等号,逗号,双引号,斜杠,问号,at符号,冒号和分号,空值在所有浏览器上的行为也不一样。需要使用BASE64编码。Cookie生命控制setMaxAge()正数,表示在指定的秒数后过期负数,表示浏览器一关闭,Cookie就会被删除零 ,表示马上删除CookiePath属性Cooki

    2022年8月8日
    3
  • Linux tar 打包「建议收藏」

    Linux tar 打包「建议收藏」转载:https://www.cnblogs.com/lijc1990/p/3545503.html范例一:将整个/etc目录下的文件全部打包成为/tmp/etc.tar[root@linux~]#tar-cvf/tmp/etc.tar/etc&lt;==仅打包,不压缩![root@linux~]#tar-zcvf/tmp/etc.tar.gz/etc&l…

    2022年6月1日
    26
  • 复制粘贴不到远程桌面_设置服务器复制粘贴

    复制粘贴不到远程桌面_设置服务器复制粘贴在远程服务器上打开任务管理器,在进程里面找到rdpclip进程(或者剪贴板监视器),点击“结束进程”打卡DOS命令符,输入rdpclip后,确认,从新打开远程剪贴服务。

    2022年8月19日
    5
  • 为什么不提供连接功能呢?

    为什么不提供连接功能呢?

    2021年7月23日
    50

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号