亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

利用Linq+Jquery+Ajax異步分頁的實現

2019-11-14 16:42:31
字體:
來源:轉載
供稿:網友

在Web顯示的時候我們經常會遇到分頁顯示,而網上的分頁方法甚多,但都太過于消耗帶寬,所以我想到了用Ajax來分頁,利用返回的Json來處理返回的數據,

大大簡化了帶寬的壓力。

先說下思路,無非就是異步執行ajax 把新列表所需要的數據用json格式返回來,然后把原來的列表Remove掉,讓新列表Show。

上前臺Html代碼:

<!--一個table 里面是repeater 當然了你也可以用<UL>那樣效率更高-->

<table width="100%" border="0" cellpadding="0" id = "newslist" cellspacing="1" bgcolor="b5d6e6">
            <asp:Repeater ID="Repeater1" runat="server">
            <HeaderTemplate>
            <tr>
            <td width="15%" height="22" background="images/bg.gif" bgcolor="#FFFFFF"><div align="center">
             <a id="quan">全選</a>
            <a id="fan">反選</a>
            </div></td> 
             <td width="12%" height="22" background="images/bg.gif" bgcolor="#FFFFFF"><div align="center"><span class="STYLE1">接收號碼</span></div></td>
            <td width="14%" height="22" background="images/bg.gif" bgcolor="#FFFFFF"><div align="center"><span class="STYLE1">發送時間</span></div></td>
            <td width="18%" background="images/bg.gif" bgcolor="#FFFFFF"><div align="center"><span class="STYLE1">郵件地址</span></div></td>
            <td width="23%" height="22" background="images/bg.gif" bgcolor="#FFFFFF"><div align="center"><span class="STYLE1">內容</span></div></td>
            <td width="15%" height="22" background="images/bg.gif" bgcolor="#FFFFFF" class="STYLE1"><div align="center">基本操作</div></td>
          </tr>
            </HeaderTemplate>
           <ItemTemplate>
             <tr class="item">
            <td height="20" bgcolor="#FFFFFF"><div align="center">
              <input class ="check_select" type="checkbox" name="checkbox2" title =<%#Eval("Id")%> value="checkbox" />
            </div></td>
            <td height="20" bgcolor="#FFFFFF"><div align="center"><span class="STYLE1"><%#Eval("Name")%></span></div></td>
            <td height="20" bgcolor="#FFFFFF"><div align="center"><span class="STYLE1">2007-11-16 15:00:20 </span></div></td>
            <td bgcolor="#FFFFFF"><div align="center"><span class="STYLE1">tiezhu0902@163.com</span></div></td>
            <td height="20" bgcolor="#FFFFFF"><div align="center"><span class="STYLE1">南京科技股份有限公司&hellip;</span></div></td>
            <td height="20" bgcolor="#FFFFFF"><div align="center"><span class="STYLE4"><img src="images/edt.gif" width="16" height="16" />編輯&nbsp; &nbsp;<img src="images/del.gif" width="16" height="16" />刪除</span></div></td>
          </tr>
           </ItemTemplate>
            </asp:Repeater>
        </table>

<!--一個table 里面是上一頁,下一頁,當前頁面信息等等……當然了你也可以用<UL>那樣效率更高-->

<table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td class="STYLE4"><a id="delete"  style =" cursor :hand;">批量刪除</a>

            </td>
             <td class="STYLE4">共有<asp:Label ID="Count" runat="server" Text=""></asp:Label>條數據,
             每頁顯示<asp:Label ID="ItemCount" runat="server" Text=""></asp:Label>條,
             當前<asp:Label ID="index" runat="server" Text=""></asp:Label>
             /
             <asp:Label ID="PageCount" runat="server" Text=""></asp:Label>
             頁

            </td>
            <td><table border="0" align="right" cellpadding="0" cellspacing="0">
                <tr>
                  <td width="40"><img src="images/first.gif" class="page" title ="first" width="37" height="15" /></td>
                  <td width="45"><img src="images/back.gif" class="page" title ="back" width="43" height="15" /></td>
                  <td width="45"><img src="images/next.gif" class="page" title ="next" width="43" height="15" /></td>
                  <td width="40"><img src="images/last.gif" class="page" title ="last" width="37" height="15" /></td>
                  <td width="100"><div align="center"><span class="STYLE1">轉到第
                      <asp:DropDownList ID="Drop" runat="server">
                      </asp:DropDownList>                   
                    頁 </span></div></td>
                  <td width="40"><img class="page" title = "go" src="images/go.gif" width="37" height="15" /></td>
                </tr>
            </table> 
            </td>
          </tr>
        </table>

好了,初步的html頁面布局已經做完了,下來我們該做頁面和服務器的交互了

頁面引入Jquery,為上一頁,下一頁,首頁,尾頁,增加Click事件

設置他們的Class = page 以便于給他們增加Click

 $(".page").click(function () {
                var type = $(this).attr("title");
                var thisindex = $("#index").text(); //獲取當前頁碼
                switch (type) {
                    case 'first':
                        {
                            pageindex = 1;
                            PageIndex(1);  //Ajax 回傳函數
                            return;
                        }
                    case 'back':
                        {
                            if (thisindex == 1) {
                                alert("當前已經是第一頁!");
                            }
                            else {
                                pageindex = parseInt(thisindex) - 1;
                                PageIndex(pageindex);
                            }
                            return;
                        }
                    case 'next':
                        {
                            if (thisindex == $("#Drop").children().length) {
                                alert("當前已經是最后頁!");
                            }
                            else {
                                pageindex = parseInt(thisindex) + 1;
                                PageIndex(pageindex);
                            }
                            return;
                        }
                    case 'last':
                        {
                            var max = $("#Drop").children().length;
                            pageindex = max;
                            PageIndex(max);
                            return;
                        }
                    case 'go':
                        {
                            var _go = $("#Drop").val();
                            pageindex = _go;
                            PageIndex(_go);
                            return;
                        }
                }

            })

下面的代碼在是Ajax的回傳封裝,切記在$(function(){ ....})之外

var pageindex;
        function PageIndex(index) {
            $.ajax({
                type: "Post", //回傳格式
                url: "WebForm1.aspx", //回傳頁面
                data: { "id": index },  //回傳參數表示請求的是第幾頁
                cache: false, //禁止使用瀏覽器緩存
                //dataType: "json",
                success: function (data) {
                    var json = eval(data); //把返回來的數據?。辏螅铮?/span>
                    var str = "";
                    for (var i = 0; i < json.items.length - 1; i++) {
                        str = str + "<tr class='item' ><td height='20' bgcolor='#FFFFFF'><div align='center'><input class ='check_select' type='checkbox' name='checkbox2' title =" + json.items[i].id.toString() + " value='checkbox' /></div></td>";
                        str = str + "<td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE1'>" + json.items[i].name + "</span></div></td><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE1'>2007-11-16 15:00:20 </span></div></td>";
                        str = str + "<td bgcolor='#FFFFFF'><div align='center'><span class='STYLE1'>tiezhu0902@163.com</span></div></td><td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE1'>南京科技股份有限公司…</span></div></td>";
                        str = str + "<td height='20' bgcolor='#FFFFFF'><div align='center'><span class='STYLE4'><img src='images/edt.gif' width='16' height='16' />編輯&nbsp; &nbsp;<img src='images/del.gif' width='16' height='16' />刪除</span></div></td></tr>";
                    }
                    $("#index").text(pageindex); //設置當前的頁碼
                    $(".item").remove(); //移除原有的列表
                    $("#newslist").append(str); //顯示返回的列表
                },
                error: function () {
                    alert("服務錯誤");
                }
            })
        }

下面才C#代碼了:

void data(int id,bool b)
        {
            int listcount = 7; //設置頁面的顯示數量
            LinqToSqlDataContext ds = new LinqToSqlDataContext();
            var q = (from a in ds.Admin select a).Skip((id-1) * listcount).Take(listcount); //獲取請求頁面的列表
            if (!b)  //如果是頁面初始加載 默認顯示
            {
                Repeater1.DataSource = q;
                DataBind();
                int count = (from a in ds.Admin select a).ToList().Count;
                this.Count.Text = count.ToString();                
                count = count / listcount + (count % listcount > 0 ? 1 : 0);
                this.ItemCount.Text = listcount.ToString();
                this.index.Text = "1";
                this.PageCount.Text = count.ToString();
                for (int i = 0; i < count; i++)
                {
                    Drop.Items.Add((i + 1).ToString());
                }
            }
            else
            {
                string str = "({items:[";                
                foreach (var a in q)
                {
                    str += "{'id':'" + a.Id + "'";
                    str += ",'name':'" + a.Name+"'";
                    str += "},";
                }
                str += "]})";
                Response.Write(str);
                Response.End();
            }
        }
        PRotected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                data(1,false);
            }
            PageIndex();
        }
        void PageIndex()
        {
            if (Request["id"] != null)
            {
                int id = int.Parse(Request["id"].ToString());
                data(id,true);
            }
        }

好了,到此,大功告成,后續會把批量刪除(批量刪除后的頁面變化等等加入),


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲欧洲在线视频| 国产午夜精品视频免费不卡69堂| 成人网在线视频| 亚洲国产精品久久| 日韩av在线一区二区| 国产精品电影网站| 中文字幕日韩av电影| 亚洲国产精品久久久| 国产精品亚洲激情| 精品日韩中文字幕| 91av在线视频观看| 97人洗澡人人免费公开视频碰碰碰| 欧美巨乳在线观看| 亚洲free性xxxx护士hd| 欧美高清电影在线看| 日韩电影大全免费观看2023年上| 国产高清在线不卡| 国产精品日韩久久久久| 亚洲伊人成综合成人网| 国产视频自拍一区| 性色av一区二区三区免费| 国产精品视频导航| 国产精品一区电影| 精品国产鲁一鲁一区二区张丽| 欧美丰满少妇xxxxx| 亚洲视频电影图片偷拍一区| 亚洲视频自拍偷拍| 日韩在线免费视频观看| 亚洲二区中文字幕| 九九九久久久久久| 最近中文字幕日韩精品| 国产精品久久久久久久久久ktv| 日韩在线观看免费| 久久综合久久88| 国产精品户外野外| 精品女同一区二区三区在线播放| 国内外成人免费激情在线视频| 91日本在线观看| 欧美性生交xxxxx久久久| 亚洲国产中文字幕在线观看| 91精品国产综合久久久久久蜜臀| 国产成人高潮免费观看精品| 自拍偷拍亚洲区| 久久人人爽人人爽爽久久| 激情成人中文字幕| 亚洲三级 欧美三级| 欧美日韩国产中文字幕| 夜夜嗨av色一区二区不卡| 欧美日本黄视频| 成人国产精品久久久久久亚洲| 欧美激情a∨在线视频播放| 亚洲成人a级网| 麻豆成人在线看| 国产精品jizz在线观看麻豆| 国产91精品黑色丝袜高跟鞋| 亚洲欧美日韩天堂| 亚洲欧美日韩天堂一区二区| 日韩视频中文字幕| 欧美电影免费观看| 亚洲欧美色婷婷| 国产精品九九久久久久久久| 国产精品极品尤物在线观看| 亚洲自拍在线观看| 久久精品电影网| 久久成人精品一区二区三区| 国产在线观看一区二区三区| 亚洲一区二区久久久久久久| 日韩精品在线播放| 51久久精品夜色国产麻豆| 久久免费在线观看| 久久视频中文字幕| 久久久国产精品亚洲一区| 久久久久久久激情视频| 国产精品一区二区三区久久久| 成人性生交xxxxx网站| 亚洲欧美精品中文字幕在线| 亚洲第一福利网| 日韩有码在线观看| 91在线观看免费网站| 精品国产老师黑色丝袜高跟鞋| 国产不卡av在线免费观看| 另类专区欧美制服同性| 热re91久久精品国99热蜜臀| 日本成人激情视频| 8050国产精品久久久久久| 久久天天躁夜夜躁狠狠躁2022| 国产性猛交xxxx免费看久久| 日韩免费在线免费观看| 亚洲精品99久久久久| 欧美精品一区在线播放| 国产精品一区二区三区成人| 久久久国产一区二区三区| 懂色av中文一区二区三区天美| 欧美性xxxxxxx| 欧洲永久精品大片ww免费漫画| 成人自拍性视频| 久久久久国产视频| 国模吧一区二区三区| 久久久国产一区二区| 久久综合久中文字幕青草| 国产欧美一区二区三区久久人妖| 国产成人精品电影| 亚洲大胆人体在线| 91精品国产自产91精品| 国产精品久久久久久久久久新婚| 久久久国产精彩视频美女艺术照福利| 国产成人97精品免费看片| 日韩精品有码在线观看| 国产精自产拍久久久久久蜜| 色悠悠久久88| 91精品免费视频| 亚洲福利视频网| 久久不射电影网| 高清欧美性猛交xxxx| 91亚洲精品一区二区| 欧美高清电影在线看| 色777狠狠综合秋免鲁丝| 欧美中文字幕在线视频| 亚洲一区二区免费在线| 中文字幕亚洲综合久久筱田步美| 国产成人精品久久| 久久成人av网站| 国产福利精品在线| 性欧美长视频免费观看不卡| 欧洲亚洲妇女av| 97久久精品人人澡人人爽缅北| 亚洲香蕉av在线一区二区三区| 亚洲色图35p| 久久久免费观看| 97在线免费视频| 国产成一区二区| 久久免费精品日本久久中文字幕| 欧美成年人网站| 亚洲精品欧美日韩| 亚洲精品国产精品国产自| 日韩成人中文字幕在线观看| 一区二区三区高清国产| 久久精品99久久久香蕉| 亚洲成人久久网| 日韩美女免费观看| 欧美日韩福利视频| 色综合天天综合网国产成人网| 自拍偷拍亚洲精品| 亚洲精品一区二区三区婷婷月| 成人国产精品色哟哟| 国产日产久久高清欧美一区| 欧美一区三区三区高中清蜜桃| 国内精品久久久久久久久| 国产成人精品一区| 亚洲女人天堂av| 欧美黑人巨大精品一区二区| 久久久久久久久久av| 欧美日韩美女在线观看| 欧美国产视频一区二区| 精品国产区一区二区三区在线观看| 久久天堂电影网| 成人www视频在线观看| 亚洲最新av网址| 911国产网站尤物在线观看| 激情懂色av一区av二区av| 91高潮精品免费porn| 亚洲天堂av在线播放| 久久精品久久久久久| 欧美日本国产在线|