0

Ich benutze Infinite Scroll für Paging. Und es hat bis heute gut funktioniert. Heute habe ich beschlossen, allen meinen Aktionsmethoden zwei zusätzliche Parameter hinzuzufügen, und jetzt ist etwas falsch mit der Zeigeaktionsmethode von infinite scroll.
Also, wenn ich scrolle die Seite Aktion wird nicht aufgerufen.
So öffne ich Seite Quelle und Link zu finden, die nächste Seite geladen werden soll und es sieht so aus:Jquery unendliche Scroll ruft keine Aktionsmethode - wahrscheinlich Routing-Problem

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

Wenn ich auf diesen Link Aktionsmethode klicken aufgerufen wird, so dass das Problem ist, dass unendliche Scroll irgendwie diese nennen stoppt Funktion auf Blättern.
Dies ist, wie Action-Methode sieht aus wie

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

Ich vermute, dass vielleicht dieses Problem ist das Routing, aber ich weiß nicht, wie es zu handhaben ...

Routing

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

Unendlich scrollen

<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

haben Sie legen die Routing für diese auf? Lass uns bitte den Routing Code sehen :) – Tony

+0

das unendliche Scroll-Setup wäre auch interessant zu sehen ... – nemesv

+0

Ich habe die Frage aktualisiert, die alles was ich im Routing habe – 1110

Antwort

1

Setzen Sie diese in Ihrem Global.asax.cs

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

Nichts passiert, wenn ich diese Route hinzufügen :( – 1110

+0

Hmm, funktioniert für Ich .. Ich bin nicht vertraut mit der Infinity Scroll-Sache, aber ich sehe nicht, wo es die Ergebnisse ergreift und sie wieder mit Ajax geladen .. Ich sehe nur Sie einen Link in einem div. – Tony

+0

Haben Sie FireBug/HTTPFox verwendet um zu debuggen? Um zu sehen, ob es tatsächlich den Anruf macht, aber vielleicht nicht die Ergebnisse lädt? Sehen Sie, wenn die jquery wie erwartet ausgelöst wird? – Tony