Asp.net mvc Jquery无限滚动不';t调用操作方法-可能是路由问题

Asp.net mvc Jquery无限滚动不';t调用操作方法-可能是路由问题,asp.net-mvc,asp.net-mvc-3,asp.net-mvc-routing,infinite-scroll,Asp.net Mvc,Asp.net Mvc 3,Asp.net Mvc Routing,Infinite Scroll,我使用无限滚动进行分页。直到今天,它一直运转良好。今天,我决定在我所有的动作方法中添加两个额外的参数,现在从无限卷轴指向动作方法有点问题。 因此,当我滚动页面时,不会调用该操作。 所以我打开页面源代码,找到应该加载下一页的链接,它看起来像: href="/Tickets/AnotherSetOfData?countryCode=uk&cityName=london&ticketTypeId=-1" 如果单击此链接,则会调用操作方法,因此问题是无限滚动不知何故会停止调用滚动上的此

我使用无限滚动进行分页。直到今天,它一直运转良好。今天,我决定在我所有的动作方法中添加两个额外的参数,现在从无限卷轴指向动作方法有点问题。
因此,当我滚动页面时,不会调用该操作。
所以我打开页面源代码,找到应该加载下一页的链接,它看起来像:

href="/Tickets/AnotherSetOfData?countryCode=uk&cityName=london&ticketTypeId=-1"
如果单击此链接,则会调用操作方法,因此问题是无限滚动不知何故会停止调用滚动上的此函数。
这就是action方法的样子

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);
          });

...
$container.infinites卷({
导航选择器:'#页面导航',//页面导航的选择器
下一个选择器:“#页面导航a”,//下一个链接(到第2页)的选择器
itemSelector:'.item',//将检索的所有项目的选择器
装载:{
FinishedMg:“没有更多页面要加载。”,
img:'http://i.imgur.com/6RMhx.gif'
}
},
函数(新元素){
var$newElems=$(newElements).css({opacity:0});
$newElems.imagesLoaded(函数(){
$newElems.animate({opacity:1});
$container.同位素('added',$newElems);
});

将其放入您的Global.asax.cs

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

您为此设置了路由吗?请查看路由代码:)无限滚动设置也会很有趣…我已更新了路由中的所有问题如果我添加该路由,则不会发生任何情况:(嗯,对我来说很有用..我不熟悉Infinity scroll,但我不知道它在哪里获取结果并用ajax加载回去..我只是看到你在一个div中创建了一个链接。你用FireBug/HTTPFox调试过这个吗?看看它是否真的在调用,但可能没有加载结果?看看jquery是否正在启动当您向下滚动时,将调用该链接div中的操作。应调用该操作,然后将返回的数据加载到“function(newElements)…中的页面上。问题是没有数据,因为该链接div不是出于某种原因调用的。愚蠢的我(再次)忘记了无限滚动到工作中必须有“id”所以通过使用稍微修改过的路由(添加了{id}),它就工作了。