午夜国产狂喷潮在线观看|国产AⅤ精品一区二区久久|中文字幕AV中文字幕|国产看片高清在线

    利用 Linq+Jquery+Ajax 實(shí)現(xiàn)異步分頁(yè)功能可簡(jiǎn)化帶寬壓力
    來(lái)源:易賢網(wǎng) 閱讀:1023 次 日期:2014-08-05 17:08:43
    溫馨提示:易賢網(wǎng)小編為您整理了“利用 Linq+Jquery+Ajax 實(shí)現(xiàn)異步分頁(yè)功能可簡(jiǎn)化帶寬壓力”,方便廣大網(wǎng)友查閱!

    在Web顯示的時(shí)候我們經(jīng)常會(huì)遇到分頁(yè)顯示,而網(wǎng)上的分頁(yè)方法甚多,但都太過(guò)于消耗帶寬,所以我想到了用Ajax來(lái)分頁(yè),利用返回的Json來(lái)處理返回的數(shù)據(jù),大大簡(jiǎn)化了帶寬的壓力。先說(shuō)下思路,無(wú)非就是異步執(zhí)行ajax 把新列表所需要的數(shù)據(jù)用json格式返回來(lái),輸出table,你可以輸出ui li(輸出效率高) 在頁(yè)面上。

    效果圖:

    圖片一

    Html代碼:

    代碼如下:

    設(shè)置它們的Class = "page" 以便于給它們?cè)黾覥lick事件操作分頁(yè)

    <div id="showPage" style="width: 650px; margin: 0 auto; display: none" class="pages">

    <div style="float: left">

    <a id="first" class="pages">首頁(yè)</a>

    <a id="prev" class="pages">上頁(yè)</a>

    <a id="next" class="pages">下頁(yè)</a>

    <a id="last" class="pages">尾頁(yè)</a>

    跳轉(zhuǎn)到第<input type="text" id="txtGoPage" style="width: 45px; height: 15px; border: 1px solid" />

    頁(yè)

    </div>

    <div style="margin: 0; float: left">

    <input type="button" class="pages btn btn-info" id="go" value="跳轉(zhuǎn)" />

    共<span id="SumCount"></span> 條數(shù)據(jù),每頁(yè)<span id="ItemCount"></span> 條,

    當(dāng)前<span id="Index"></span>/<span id="PageCount"></span>頁(yè)

    </div>

    </div>

    用下面的div輸出返回的結(jié)果

    <div id="divBadProductInfo"></div>

    Css代碼:

    代碼如下:

    /*分頁(yè)*/

    .pages {

    cursor: pointer;

    text-align: center;

    margin: 0 auto;

    padding-right: 0px;

    padding-bottom: 2px;

    padding-top: 2px;

    font-family: verdana, helvetica, arial, sans-serif;

    }

    .pages a {

    border-right: 1px solid;

    padding-right: 6px;

    border-top: 1px solid;

    padding-left: 6px;

    padding-bottom: 0px;

    overflow: hidden;

    border-left: 1px solid;

    line-height: 20px;

    margin-right: 2px;

    padding-top: 0px;

    border-bottom: 1px solid;

    height: 30px;

    }

    .pages a {

    border-left-color: #e6e7e1;

    border-bottom-color: #e6e7e1;

    color: #09c;

    border-top-color: #e6e7e1;

    background-color: #fff;

    border-right-color: #e6e7e1;

    }

    .pages a:hover {

    text-decoration: none;

    border-left-color: #09c;

    border-bottom-color: #09c;

    border-top-color: #09c;

    border-right-color: #09c;

    }

    .pages a.next {

    border-left-color: #09c;

    border-bottom-color: #09c;

    border-top-color: #09c;

    border-right-color: #09c;

    }

    JS代碼:

    引入: <script src="assets/js/jquery-1.8.2.min.js"></script>//可以為其他版本

    代碼如下:

    $(document).ready(function ()

    {

    //檢索條件

    var search = $("#txtFactroy").val() + "_" + $("#txtTimeSelect").val()

    + "_" + $("#txtPinfan").val() + "_" +

    $('input[type="checkbox"][name="option1"]:checked').val();

    $.ajax({

    type: "post",<span style="color:#ff0000;">//回傳格式

    url: "ResponseHandler.ashx"http://回傳到一般處理程序中處理//回傳參數(shù)表示請(qǐng)求的是第幾頁(yè),encodeURIComponent 格式化中文以防亂碼

    data: "BadProductWhere=" + encodeURIComponent(search) + "&currPage=1",

    datatype: "json",//把返回來(lái)的數(shù)據(jù)?。辏螅铮?

    async: false,//禁止使用瀏覽器緩存

    success: function (returnData, textstatus, xmlhttprequest)

    {

    $("#showPage").css('display', 'block');//顯示分頁(yè)

    $("#divBadProductInfo").html(returnData.split('_')[0]);//返回值分割顯示

    var page = returnData.split('_')[1].split(',');

    $("#SumCount").text(page[0]);//共多少條數(shù)據(jù)

    $("#ItemCount").text(page[1]);//每頁(yè)多少條數(shù)據(jù)

    $("#Index").text(page[2]);//當(dāng)前頁(yè)

    $("#PageCount").text(page[3]);//共多少頁(yè) }

    });

    //清除轉(zhuǎn)向頁(yè)面

    $("#txtGoPage").val("");

    //分頁(yè)操作動(dòng)作

    $(".pages").click(function () {

    //總頁(yè)數(shù)大于1的情況下上下首末頁(yè)可用

    if (parseFloat($("#PageCount").html()) > 1) {

    //取得控件類(lèi)型是ID還是class

    var type = $(this).attr("id");

    //取得當(dāng)前是多少頁(yè)

    var thisindex = $("#Index").text();

    var search = $("#txtFactroy").val() + "_" + $("#txtTimeSelect").val()

    + "_" + $("#txtPinfan").val() + "_" +

    $('input[type="checkbox"][name="option1"]:checked').val();

    switch (type) {

    case 'first':

    {

    $("#txtGoPage").val("");

    badpageindex = 1;

    BadPageIndex(1, search);//Ajax 回傳函數(shù)

    return;

    }

    case 'prev':

    {

    $("#txtGoPage").val("");

    badpageindex = parseInt(thisindex) - 1;

    if (badpageindex < 1) return;

    BadPageIndex(badpageindex, search);

    return;

    }

    case 'next':

    {

    $("#txtGoPage").val("");

    badpageindex = parseInt(thisindex) + 1;

    if (badpageindex > parseInt($("#PageCount").html())) return;

    else

    BadPageIndex(badpageindex, search);

    return;

    }

    case 'last':

    {

    var max = parseInt($("#PageCount").html());

    $("#txtGoPage").val("");

    badpageindex = max;

    BadPageIndex(max, search);

    return;

    }

    case 'go':

    {

    var _go = $("#txtGoPage").val();

    badpageindex = _go;

    BadPageIndex(_go, search);

    return;

    }

    }

    }

    })

    });

    代碼如下:

    var badpageindex;

    //index,頁(yè)面索引例如1,2,3

    //BadProductWhere 查詢(xún)條件

    function BadPageIndex(index, searchwhere) {

    $.ajax({

    type: "post",

    url: "ResponseHandler.ashx",

    data: "BadProductWhere=" + encodeURIComponent(searchwhere) + "&currPage=" + index,

    datatype: "json",

    async: false,

    success: function (returnData, textstatus, xmlhttprequest) {

    $("#divDisplay").css('display', 'none');

    $("#showPage").css('display', 'block');

    $("#divBadProductInfo").html(returnData.split('_')[0]);

    var page = returnData.split('_')[1].split(',');

    $("#SumCount").text(page[0]);

    $("#ItemCount").text(page[1]);

    $("#Index").text(page[2]);

    $("#PageCount").text(page[3]);

    },

    error: function () {

    alert("服務(wù)錯(cuò)誤");

    }

    });

    }

    C# 代碼:(ResponseHandler.ashx)

    代碼如下:

    /// <summary>

    /// 每頁(yè)顯示條數(shù)

    /// </summary>

    private int pageSize = 20;

    StringBuilder sbBadProductInfo = new StringBuilder();

    if (!string.IsNullOrEmpty(context.Request["BadProductWhere"]) &&

    !string.IsNullOrEmpty(context.Request["currPage"]))

    {

    #region // B品標(biāo)題信息

    sbBadProductInfo.Append(@"<div class='row-fluid'>

    <div class='span12 widget'><div class='widget-header'>

    <span class='title'>

    <i class='icol-blog'></i>B品箱單信息

    </span>

    </div>");

    sbBadProductInfo.Append(@"<div class='widget-content summary-list'>

    <div class='row-fluid' style='padding-top: 2px;'>

    <div class='span12 section'>

    <table class='table table-bordered table-striped'>

    <thead>

    <tr>

    <th>箱單編號(hào)</th>

    <th>裝箱生成日期</th>

    <th>工廠名稱(chēng)</th>

    <th>裝箱品番</th>

    <th>裝箱箱號(hào)</th>

    <th>裝箱件數(shù)</th>

    <th>倉(cāng)庫(kù)確認(rèn)</th>

    <th>出庫(kù)確認(rèn)人</th>

    <th>出庫(kù)日期</th>

    <th>查看明細(xì)</th>

    </tr>

    </thead><tbody>");

    #endregion

    List<bstate_view> lstGetBadProductData = (from p in lstGetBadProductData

    where !string.IsNullOrEmpty(p.出庫(kù)確認(rèn)人) && p.出庫(kù)日期 != null

    select p).ToList<bstate_view>();

    string pageInfo = lstGetBadProductData.Count() + "," + pageSize + "," + context.Request["currPage"] +

    "," + (lstGetBadProductData.Count() % 20 == 0 ? (lstGetBadProductData.Count() / 20) :

    (lstGetBadProductData.Count() / 20 + 1));

    List<bstate_view> lstGetBadItemData = (lstGetBadProductData.Count > pageSize ?

    lstGetBadProductData.Skip(int.Parse(context.Request["currPage"]) == 1 ? 0 :

    pageSize * (int.Parse(context.Request["currPage"]) - 1)).Take(pageSize)

    : lstGetBadProductData).ToList<bstate_view>();

    #region ==>B品箱單信息

    foreach (var item in lstGetBadItemData)

    {

    var cssName = rowCount % 2 == 0 ? "warning" : "error";

    sbBadProductInfo.Append(@"<tr class='" + cssName + "'>");

    sbBadProductInfo.Append(@"<td>" + item.箱單編號(hào) + "</td>");

    sbBadProductInfo.Append(@"<td>" + item.裝箱生成日期 + "</td>");

    sbBadProductInfo.Append(@"<td>" + item.工廠名稱(chēng) + "</td>");

    sbBadProductInfo.Append(@"<td>" + item.裝箱品番 + "</td>");

    sbBadProductInfo.Append(@"<td>" + item.裝箱箱號(hào) + "</td>");

    sbBadProductInfo.Append(@"<td>" + item.裝箱件數(shù) + "</td>");

    sbBadProductInfo.Append(@"<td>" + item.倉(cāng)庫(kù)確認(rèn) + "</td>");

    sbBadProductInfo.Append(@"<td>" + item.出庫(kù)確認(rèn)人 + "</td>");

    sbBadProductInfo.Append(@"<td>" + item.出庫(kù)日期 + "</td>");

    sbBadProductInfo.Append(@"<td><input type='button' class='btn btn-primary'

    style='width: 80px; height: 30px;' value='查看明細(xì)'");

    sbBadProductInfo.Append(@" onclick='OpenBadInfo(" + item.箱編號(hào) + ");'/></td></tr>");

    rowCount++;

    }

    sbBadProductInfo.Append(@"</tbody></table>

    </div>

    </div>

    </div>

    </div>

    </div>

    </div>

    </div>");

    #endregion

    context.Response.Write(sbBadProductInfo.ToString() + "_" + pageInfo);

    context.Response.End();

    分頁(yè)效果

    圖片二

    更多信息請(qǐng)查看IT技術(shù)專(zhuān)欄

    更多信息請(qǐng)查看網(wǎng)絡(luò)編程
    由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢(xún)回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門(mén)公布的正式信息和咨詢(xún)?yōu)闇?zhǔn)!

    2025國(guó)考·省考課程試聽(tīng)報(bào)名

    • 報(bào)班類(lèi)型
    • 姓名
    • 手機(jī)號(hào)
    • 驗(yàn)證碼
    關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢(xún) | 簡(jiǎn)要咨詢(xún)須知 | 新媒體/短視頻平臺(tái) | 手機(jī)站點(diǎn) | 投訴建議
    工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
    云南網(wǎng)警備案專(zhuān)用圖標(biāo)
    聯(lián)系電話(huà):0871-65099533/13759567129 獲取招聘考試信息及咨詢(xún)關(guān)注公眾號(hào):hfpxwx
    咨詢(xún)QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
    云南網(wǎng)警報(bào)警專(zhuān)用圖標(biāo)