Jquery бесконечная прокрутка не вызывает метод действия - возможно, проблема маршрутизации - PullRequest
0 голосов
/ 03 апреля 2012

Я использую бесконечную прокрутку для подкачки. И до сегодняшнего дня все работало нормально. Сегодня я решил добавить два дополнительных параметра ко всем моим методам действия, и теперь что-то не так с указанием метода действия из бесконечной прокрутки.
Поэтому, когда я прокручиваю страницу, действие не вызывается.
Поэтому я открываю страницу источника и нахожу ссылку, которая должна загрузить следующую страницу, и она выглядит так:

href="/Tickets/AnotherSetOfData?countryCode=uk&cityName=london&ticketTypeId=-1"

Если я нажимаю на эту ссылку, вызывается метод действия, поэтому проблема в том, что бесконечная прокрутка как-то перестает вызывать эту функцию при прокрутке.
Вот как выглядит метод действия

public ActionResult AnotherSetOfData(string countryCode, string cityName, int ticketTypeId)
{...}

Я подозреваю, что, возможно, это проблема маршрутизации, но я не знаю, как с ней справиться ...

Маршрутизация

routes.MapRoute(
                "Default", // Route name
                "{controller}/{action}/{id}", // URL with parameters
                new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
            );

Бесконечный свиток

<nav id="page-nav">
    <a href="@Url.Action("AnotherSetOfData", "Tickets", new { countryCode = ViewBag.countryCode, cityName = ViewBag.cityName, ticketTypeId = ViewBag.ticketTypeId })">
    </a>
</nav>
...
$container.infinitescroll({
            navSelector: '#page-nav',    // selector for the paged navigation 
            nextSelector: '#page-nav a',  // selector for the NEXT link (to page 2)
            itemSelector: '.item',     // selector for all items you'll retrieve
            loading: {
                finishedMsg: 'No more pages to load.',
                img: 'http://i.imgur.com/6RMhx.gif'
            }
        },

      function (newElements) {

          var $newElems = $(newElements).css({ opacity: 0 });

          $newElems.imagesLoaded(function () {

              $newElems.animate({ opacity: 1 });
              $container.isotope('appended', $newElems);
          });

1 Ответ

1 голос
/ 03 апреля 2012

Поместите это в свой Global.asax.cs

routes.MapRoute(
"InfiniScroll", // Route name
"{controller}/{action}/{countryCode}/{cityName}/{ticketTypeId}", //URL with parameters
new { controller = "Tickets", action = "AnotherSetOfData"}); // Parameter Defaults
...