Как передать универсальный hrefPrefix в SimplePagination Jquery?

Недавно я смотрел на динамическое разбиение по страницам через javascript в приложении asp.net.

Я через простой нумерации страниц - 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= здесь

http://example.com/dynamic/?q=train&r=mono -> и здесь это не сработает для?pg=; здесь должно быть &pg=

Теперь мой вопрос - как мне использовать этот hrefTextPrefix, чтобы он всегда работал для любого типа URL. Было бы очень хорошо, если бы мне не нужно было жестко кодировать "pg" и читать его по URL или другим способом. Пожалуйста помоги!!

1 ответ

Я нашел ответ на это. На самом деле я всегда могу использовать "? Pg=", и он работает для всех URL по умолчанию.

Я обработал в 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) {

        }
    });
Другие вопросы по тегам