我正在使用Fancybox 1.3.4和ASP.NET MVC 3。
我有以下链接:
<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>
Like控制器中的控制器操作:
public JsonResult List(int id)
{
return Json("success", JsonRequestBehavior.AllowGet);
}
我的问题是 Like / List 永远不会被调用(使用断点检查),只显示fancybox并显示“父”页面的内容....
我也试过iframe内容返回纯html,但是我得到了与上面相同的奇怪行为。
提前谢谢!
答案 0 :(得分:1)
我建议您使用HTML帮助程序而不是硬编码锚点:
@Html.ActionLink(
feed.LikeCount,
"List",
"Like",
new { id = feed.Id },
new { id = "various", @class = "petlikeCount liked" }
)
您应该确保的另一件事是feed.Id
实际上是一个整数变量,以便在调用List动作时正确传递此id。
所以你的网址应该是这样的:/List/Like/123
。然后假设您保留了默认路由并且没有弄乱一些自定义路由,应该调用List操作并将正确的id作为参数传递。
此外,我强烈建议您在浏览器中使用javascript调试工具,例如FireBug,您可以在其中查看脚本的任何潜在错误以及发送的实际AJAX请求,这将允许您更多轻松调试这些问题。