如何在SimplePagination Jquery中传递泛型hrefPrefix?

时间:2014-12-10 07:52:58

标签: jquery asp.net url pagination simplepager

我最近在asp.net应用程序中通过javascript查看动态分页。

我正处于简单分页 - SimplePagination

我可以轻松地将它集成到我的应用程序中,我喜欢它。

但是现在我遇到了一个问题,我不知道如何去做。

我使用的代码是:

$(function () {

    var totalPages = @Model.Pagination.TotalPage;
    var prevText = "@Model.Pagination.PrevPageTitle";
    var nextText = "@Model.Pagination.NextPageTitle";
    var currentPage = @Model.Pagination.CurrentPage;
    var edges = 1;

    //For edge display
    var displayedPages = 3;

    $(".paging").pagination({
        displayedPages: displayedPages,
        cssStyle: "light-theme",
        edges: edges,
        pages: totalPages,
        currentPage: currentPage,
        hrefTextPrefix : "?pg=",
        prevText: prevText,
        nextText : nextText,
        selectOnClick : false
    });
});

在上面的代码中,我坚持使用hrefTextPrefix:“?pg =”,

上面的代码应该适合3种类型的URL:

http://example.com/test.aspx - >当我使用它时它在这里工作正常吗?pg =

http://example.com/test.aspx? - >如果我使用它会失败吗?pg =;它应该只是pg = here

http://example.com/dynamic/?q=train&r=mono - >在这里又失败了?pg =;它应该是& pg = here

现在我的问题是 - 如何使用此hrefTextPrefix,使其始终适用于任何类型的URL。 如果我不需要硬编码“pg”并从URL或其他方式读取它,那将是非常好的。请帮助!!

1 个答案:

答案 0 :(得分:0)

我找到了答案。 实际上我总是可以使用"?pg ="它默认适用于所有网址。

我在这样的javascript中处理:

   var url = window.location.search;
    url = url.replace(/&?((page)|(pg))=([^&]$|[^&]*)/i, ""); //remove page or pg
    var queryString = url.substring( url.indexOf('?') + 1 );
    queryString = queryString == "" ? queryString : queryString + "&";

     ...
     ...

   $(".paging").pagination({
        displayedPages: displayedPages,
        edges: edges,
        pages: totalPages,
        currentPage: currentPage,
        hrefTextPrefix : "?" + queryString + "pg=",
        prevText: prevText,
        nextText : nextText,
        selectOnClick : false,
        onInit: function (pageNumber) {

        }
    });