2012-03-24 128 views
0

我使用的fancybox 1.3.4与ASP.NET MVC 3Fanycbox 1.3.4 AJAX的问题与ASP.NET MVC

我有以下链接:

<a id="various" href="Like/List/@feed.Id" class="petlikeCount liked">@feed.LikeCount</a> 

也jQuery的:

在像控制器
<script type="text/javascript"> 
     $(document).ready(function() { 

      $("#various").fancybox({ 
       type: 'ajax' 
      });    

     });   
</script> 

控制器动作:

public JsonResult List(int id) 
     { 
      return Json("success", JsonRequestBehavior.AllowGet); 
     } 

我的问题是像/列表不会被调用(具有断点检查)和的fancybox刚刚出现的“父母”页面的显示内容....

我也试图与iframe中的内容返回纯HTML回,但我得到了和上面一样的奇怪行为。

预先感谢您!

+0

尝试'Url.Action'而不是对href进行硬编码。 – Andreas 2012-03-24 11:51:13

回答

1

我建议你使用HTML助手,而不是硬编码锚:

@Html.ActionLink(
    feed.LikeCount, 
    "List", 
    "Like", 
    new { id = feed.Id }, 
    new { id = "various", @class = "petlikeCount liked" } 
) 

另一件事,你应该确保的是,feed.Id实际上是一个整数变量,以便在调用列表操作时,它是正确传递了这个ID。

所以你的网址应该是这样的:/List/Like/123。然后假设你已经保留了默认路由并且没有混淆一些自定义路由,应该调用List操作并传递正确的id作为参数。

此外,我会非常强烈地建议你在你的浏览器中使用一个JavaScript调试工具,比如FireBug,你将能够看到你的脚本有任何潜在的错误以及实际发送的AJAX请求,这将允许你更容易调试这些问题。