【Bootstrap3.0建站笔记三】AspNetPager分页,每一列都可排序

1、AspNetPager分页,实现每一列都可排序:

(1)、需要将默认排序字段放在HTML页面中。

(2)、排序字段放置为td节点的属性。

如图:

实现的效果图如:

HTML代码:

<div class="row">
                        <div class="col-lg-12 col-sm-12 col-xs-12 col-xxs-12">
                            <table class="table table-striped table-hover  table-bordered  bootstrap-datatable   " id="DataTables_Table_0" >
                                <thead>
                                    <tr><input type="hidden" id="defaultOrder" value="FirstDaijaDate" runat="server" /><!--默认排序-->
                                        <td class="sorting_asc" onclick="OrderBy(this)" sortf="FirstDaijaDate" text="首次代驾">首次代驾<input type="hidden" id="hidden_Orderby" value="FirstDaijaDate*sorting_desc" runat="server" /></td>
                                        <td class="sorting" onclick="OrderBy(this)" sortf="CustomerName" text="姓名">姓名</td>
                                        <td class="sorting" onclick="OrderBy(this)" sortf="CustomerPhone" text="联系方式">联系方式</td>
                                        <td class="sorting" onclick="OrderBy(this)" sortf="Attribution" text="归属地">归属地</td>
                                        <td class="sorting" onclick="OrderBy(this)" sortf="DaiJiaCount" text="代驾次数">代驾次数</td>
                                        <td class="sorting" onclick="OrderBy(this)" sortf="LastRechargeDate" text="最后充值">最后充值</td>
                                        <td class="sorting" onclick="OrderBy(this)" sortf="LastRechargeMoney" text="充值金额">充值金额</td>
                                        <td class="sorting" onclick="OrderBy(this)" sortf="TrackingState" text="跟踪状态">跟踪状态</td>
                                        <td class="sorting" onclick="OrderBy(this)" sortf="IsVisit" text="是否回访">是否回访</td>
                                        <td class="sorting" onclick="OrderBy(this)" sortf="IsVIP" text="是否VIP">是否VIP</td>
                                        <td class="sorting" onclick="OrderBy(this)" sortf="NextContactDate" text="再联系时间">再联系时间</td>
                                        <td class="sorting" onclick="OrderBy(this)" sortf="LastTrackingCustomerService" text="客服">客服</td>
                                        <td >操作</td>
                                    </tr>
                                </thead>
                                <tbody>
                                    <asp:Repeater ID="Repeater1" runat="server">
                                        <ItemTemplate>
                                            <tr>
                                                <td ><%# Eval("FirstDaijaDate") %></td>
                                                <td ><%# Eval("CustomerName") %></td>
                                                <td ><%# Eval("CustomerPhone") %></td>
                                                <td ><%# Eval("Attribution") %></td>
                                                <td ><%# Eval("DaiJiaCount") %></td>
                                                <td ><%# Eval("LastRechargeDate").ToString()!="0001/1/1 0:00:00"?Eval("LastRechargeDate"):"" %></td>
                                                <td ><%# Eval("LastRechargeMoney") %></td>
                                                <td ><%# GetTrackingState(Eval("TrackingState").ToString().Trim())%></td>
                                                <td ><%# GetIsVisit(Eval("IsVisit")==null?"":Eval("IsVisit").ToString())%></td>
                                                <td ><%# Eval("IsVIP").ToString()=="true"?"是":"否"%></td>
                                                <td ><%# Eval("NextContactDate").ToString()!="0001/1/1 0:00:00"?Eval("NextContactDate"):"" %></td>
                                                <td ><%# Eval("LastTrackingCustomerService") %></td>
                                                <td>
                                                    <div class="porpre">
                                                        <div class="input-group-btn" style="width: auto">
                                                            <a href="CustomerInformationDetails.aspx?Id=<%#Eval("Id") %>&phone=<%#Eval("CustomerPhone") %>&RecommendationNumber=<%#Eval("RecommendationNumber") %>&tabPage=CustomerDetail" class="btn btn-primary dropdown-toggle">    查  看    </a>
                                                            <a href="javascript:void(0);" onclick="btngroupClick(this,event)" class="btn btn-primary dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></a>
                                                        </div>
                                                        <div style="display: none;" class="pHide" id="pHide">
                                                            <ul>
                                                                <li>
                                                                    <a href="CustomerInformationDetails.aspx?Id=<%#Eval("Id") %>&phone=<%#Eval("CustomerPhone") %>&RecommendationNumber=<%#Eval("RecommendationNumber") %>&tabPage=ViewAccount" class="btn btn-success ">查看子号</a>
                                                                </li>
                                                                <li>
                                                                    <a href="CustomerInformationDetails.aspx?Id=<%#Eval("Id") %>&phone=<%#Eval("CustomerPhone") %>&RecommendationNumber=<%#Eval("RecommendationNumber") %>&tabPage=Records" class="btn btn-info ">推荐记录</a>
                                                                </li>
                                                                <li>
                                                                    <a href="CustomerInformationDetails.aspx?Id=<%#Eval("Id") %>&phone=<%#Eval("CustomerPhone") %>&RecommendationNumber=<%#Eval("RecommendationNumber") %>&tabPage=FailureOrder" class="btn btn-warning ">未报订单</a>
                                                                </li>
                                                                <li>
                                                                    <a href="CustomerInformationDetails.aspx?Id=<%#Eval("Id") %>&phone=<%#Eval("CustomerPhone") %>&RecommendationNumber=<%#Eval("RecommendationNumber") %>&tabPage=DaijiaRecords" class="btn btn-danger ">代驾记录</a>
                                                                </li>
                                                                <li>
                                                                    <a href="CustomerInformationDetails.aspx?Id=<%#Eval("Id") %>&phone=<%#Eval("CustomerPhone") %>&RecommendationNumber=<%#Eval("RecommendationNumber") %>&tabPage=RechargeRecord" class="btn btn-primary ">充值记录</a>
                                                                </li>
                                                                <li class="ma">
                                                                    <a href="CustomerInformationDetails.aspx?Id=<%#Eval("Id") %>&phone=<%#Eval("CustomerPhone") %>&RecommendationNumber=<%#Eval("RecommendationNumber") %>&tabPage=BillingRecord" class="btn btn-warning ">开票记录</a>
                                                                </li>
                                                            </ul>
                                                        </div>
                                                    </div>
                                                </td>
                                            </tr>
                                        </ItemTemplate>
                                    </asp:Repeater>
                                </tbody>
                            </table>
                        </div>
                    </div>
                    <div class="row" style="margin-top: 15px;">
                        <div class="col-lg-12 col-sm-12 col-xs-12 col-xxs-12">
                         <div style='font-size:14px;'>共<label style="color:#20A8D8; font-size:14px;""><%=this.AspNetPager1.RecordCount %></label>条记录</div>
                        </div>
                    </div>
                    <div class="row">
                        <div class="col-lg-12 col-sm-12 col-xs-12 col-xxs-12">
                            <webdiyer:AspNetPager ID="AspNetPager1" CssClass="paginator" CurrentPageButtonClass="cpb"
                                OnPageChanged="AspNetPager1_PageChanged" runat="server" FirstPageText="首页"  PageSize="5"
                                LastPageText="尾页" NextPageText="← 下一页" PrevPageText="← 上一页" AlwaysShow="true" ShowPageIndexBox="Never" NumericButtonCount="10"
                                CurrentPageButtonPosition="End"
                                ShowFirstLast="false">
                            </webdiyer:AspNetPager>
                        </div>
                    </div>

JS代码:

//获取地址参数
function request(paras) {
    var url = location.href;
    var paraString = url.substring(url.indexOf("?") + 1, url.length).split("&");
    var paraObj = {}
    for (i = 0; j = paraString[i]; i++) {
        paraObj[j.substring(0, j.indexOf("=")).toLowerCase()] = j.substring(j.indexOf("=") + 1, j.length);
    }
    var returnValue = paraObj[paras.toLowerCase()];
    if (typeof (returnValue) == "undefined") {
        return "0";
    } else {
        return returnValue;
    }
}
window.onload = function () {
    var OrderBySort = request('OrderBySort');//获取地址栏排序

    var filed = '';//排序字段
    var orderClass = '';//排序class
    if (OrderBySort.indexOf('*') != -1) {
        filed = OrderBySort.substring(0, OrderBySort.indexOf('*'));
        orderClass = OrderBySort.substring(OrderBySort.indexOf('*') + 1);
    }
    //获取文字
    var text = unescape(request('text'));
    var value = filed + "*" + orderClass;
    if (OrderBySort != '0') {//当地址栏有参数时
        $('#DataTables_Table_0 thead tr td').each(function (index, element) {
            var defaultorder = $('#MainContent_defaultOrder').val();
            if (OrderBySort.indexOf(defaultorder) == -1) {//如果不是以发表时间排序的,设置其样式为不排序
                if ($(this).attr("sortf") == defaultorder) {
                    $(this).attr("class", "sorting");
                }
                if ($(this).attr("sortf") == filed) {
                    $(this).after("<td class='" + orderClass + "' onclick='OrderBy(this)'  sortf='" + filed + "' text='" + text + "'>" + text + "<input name='ctl00$MainContent$hidden_Orderby' type='hidden' id='MainContent_hidden_Orderby' value='" + value + "'></td>");
                    $(this).remove();
                }
            } else {//以时间排序时
                if ($(this).attr("sortf") == filed) {
                    $(this).after("<td class='" + orderClass + "' onclick='OrderBy(this)'  sortf='" + filed + "' text='" + text + "'>" + text + "<input name='ctl00$MainContent$hidden_Orderby' type='hidden' id='MainContent_hidden_Orderby' value='" + value + "'></td>");
                    $(this).remove();
                }
            }
        });
    }
    var top = request('scrollTop');
    $("body,html").animate({ scrollTop: top });//网页被卷去的高
};
function OrderBy(obj) {
    //获取文字
    var text = $(obj).attr("text");
    //获取排序class
    var orderClass = $(obj).attr("class");
    //获取排序字段
    var filed = $(obj).attr("sortf");
    if (orderClass == 'sorting') {
        orderClass = 'sorting_asc';
    }
    if (orderClass == 'sorting_asc') {
        orderClass = 'sorting_desc';
    }
    else if (orderClass == 'sorting_desc') {
        orderClass = 'sorting_asc';
    }
    var value = filed + "*" + orderClass;
    $(obj).after("<td class='" + orderClass + "' onclick='OrderBy(this)'  sortf='" + filed + "'>" + text + "<input name='ctl00$MainContent$hidden_Orderby' type='hidden' id='MainContent_hidden_Orderby' value='" + value + "'></td>");
    $(obj).remove();
    var top = document.documentElement.scrollTop;//IE
    if (top == 0) {
        top = document.body.scrollTop;//非IE  网页被卷去的高
    }
    var url = location.href;
    url = location.href.substring(0, url.indexOf("?"));
    window.location.href = url + '?OrderBySort=' + filed + "*" + orderClass + '&scrollTop=' + top + '&Text=' + escape(text) + '';//字段*排序 和 当前
}

C#后台代码:

string OrderBySort = "FirstDaijaDate*sorting_desc";
if (Request.QueryString["OrderBySort"] != null && Request.QueryString["OrderBySort"] != "")
{
     OrderBySort = Request.QueryString["OrderBySort"];
}
this.hidden_Orderby.Value = OrderBySort.Trim();
BindProList(OrderBySort);//数据绑定

【Bootstrap3.0建站笔记三】AspNetPager分页,每一列都可排序,布布扣,bubuko.com

时间: 2024-08-03 09:08:34

【Bootstrap3.0建站笔记三】AspNetPager分页,每一列都可排序的相关文章

【Bootstrap3.0建站笔记一】表单元素排版

1.文字和输入框前后排列: 代码: <div class="row"> <div class="col-lg-12"> <div class="panel panel-default"> <div class="panel-heading"> <h2>条件查找</h2> </div> <div class="panel-body

【Bootstrap3.0建站笔记二】按钮可下拉弹出层

1.按钮可下拉弹出层: HTML代码: <div class="porpre"> <div class="input-group-btn" style="width: auto"> <a href="CustomerInformationDetails.aspx?Id=7&phone=15821789965&RecommendationNumber=54231896&tabPage=

【Bootstrap3.0建站笔记四】按钮组,连接在一起使用

1.按钮组效果如图: HTML代码: <div class="row "> <div class="form-group col-sm-7"> <div class="btn-group"> <asp:HiddenField ID="hidden_btnActive" runat="server" /> <asp:Button ID="Butt

建站笔记1:centos6.5下安装mysql

最近买了个域名,想要玩玩自己建网站:接下来遇到的问题都会一次记录下来,以备自己以后复习查看: 首先建站方案选择: wordPress +centos6.5 +mysql; 服务器买的:搬瓦工最低配置,其实主要用来使用vpn,( 你懂的,感兴趣的可以翻看我以前的博客). 地址:https://bandwagonhost.com  wordpress 下载地址:https://cn.wordpress.org 域名是百度开放云买的,推荐,很优惠啊! 第一个问题:centos6.5下安装mysql: 

DigitalOcean 建站笔记

由于在默认的情况下digitalocean的VPS没有设置swap分区,用df -h命令查看的话,整个VPS上只有一个20G的分区.用free命令查看的话,swap分区的大小是0,增加swap分区的命令如下 dd if=/dev/zero of=/.SWAP bs=1M count=1024 mkswap /.SWAP swapon /.SWAP 这时用 free 和swapon -s 就可以查看到有个1G的swap.

建站笔记1-配置服务器程序,安装Xampp,二级域名,外网可以访问

一.开始 因为是新手入门,选用集成环境会减少很多操作和不必要的麻烦 集成环境有xampp,wamp等 本人用的第一次使用是用的XAMPP集成环境,所以就附上XAMPP的官网 二.下载和解压 我下载的是.run文件,直接运行就可以了,压缩包解压的/opt目录下 附上常用解压的命令的使用方式[转] .tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName ——————————————— .gz 解压1:gunzip FileName.g

建站笔记2-数据库密码修改和phpmyadmin的使用

一.mysql修改密码 在mysql的mysql数据库中,user表放的是数据库用户及其权限信息 1.可以在phpmyadmin中找到这个表改数据(不建议),因为数据库放的是加过密的密码 2.使用登录mysql,用Sql命令修改 1)登录 刚刚安装时空密码 /opt/lampp/bin/mysql -u root 如果修改了密码,就要输入密码 /opt/lampp/bin/mysql -u root -p 你的密码 2)修改密码 mysql> use mysql; mysql> update

手工建站与自助建站的区别有哪些?

在做网站的过程中,对于一些老站长而言,经常是自己做网站,通常都是采用手工的方式,而随着网站建设技术的不断成熟,互联网的快速发展,更多的企业推出自己的自助建站系统,可以在短期内,快速的建立一个网站,而不需要自己学习任何技术. 但作为一名SEO人员而言,我们非常清楚,这二者是各有利弊,需要根据实际情况选择. 那么,手工建站与自助建站的区别有哪些? 根据以往网站制作流程的熟悉,我们将通过如下内容说明: 一.费用对比 1.经济.标准型企业网站费用比较 网站建设费用:总费用1800元至3600元,含域名.

Nodejs学习笔记(三)——一张图看懂Nodejs建站

前言:一条线,竖着放,如果做不到精进至深,那就旋转90°,至少也图个幅度宽广. 通俗解释上面的胡言乱语:还没学会爬,就学起走了?! 继上篇<Nodejs学习笔记(二)——Eclipse中运行调试Nodejs>之后,代码编写环境就从Sublime转战到Eclipse下,感觉顺手多了.于是就跟着Scott老师学起了Nodejs建站的课程(推荐大家点进去看看),踏上了未爬先走的路子. 作为一个白里透白的小白来说,今天主要记录下如何用Nodejs搭建一个小小的网站,以及自己对于这种Nodejs建站的运