Fancybox无法打开局部视图

时间:2012-03-31 11:17:12

标签: jquery asp.net-mvc jquery-plugins fancybox

我想在fancybox中打开局部视图,就像模态视图一样,但当我点击链接时,它会打开整个新页面,但它应该在fancybox中打开。
我不知道这是否重要,但我还有一个功能可以在fancybox中打开图像(在同一页面上)并且它有效。班级名称不同

@Html.ActionLink("Feedback", "New", "Feedback", null, new { @class = "lightbox" })

JS

$(document).ready(function () {
    $('.lightbox').fancybox();
    // Another light box that works
    $(".fancybox-button").fancybox({...

行动方法

public ActionResult New()
{
   return PartialView();
}

我也在浏览器控制台中收到此错误:

Uncaught Error: Syntax error, unrecognized expression: /Feedback/New
m.errorjquery-1.7.2.min.js:3
m.filterjquery-1.7.2.min.js:3
mjquery-1.7.2.min.js:3
c.querySelectorAll.mjquery-1.7.2.min.js:3
f.fn.extend.findjquery-1.7.2.min.js:3
e.fn.e.initjquery-1.7.2.min.js:2
ejquery-1.7.2.min.js:2
e.extend._startjquery.fancybox.pack.js:14
e.extend.openjquery.fancybox.pack.js:6
e.fn.fancybox.fjquery.fancybox.pack.js:33
f.event.dispatchjquery-1.7.2.min.js:3
f.event.add.h.handle.i

来自单独演示项目的代码

<script src="@Url.Content("http://code.jquery.com/jquery-1.7.2.min.js")" type="text/javascript"></script>
<script src="../../Scripts/jquery-ui-1.8.11.min.js" type="text/javascript"></script>
<link href="../../Scripts/fancyapps-fancyBox-5403ca0/source/jquery.fancybox.css"
    rel="stylesheet" type="text/css" />
<script src="../../Scripts/fancyapps-fancyBox-5403ca0/source/jquery.fancybox.js"
    type="text/javascript"></script>
<script src="../../Scripts/fancyapps-fancyBox-5403ca0/source/jquery.fancybox.pack.js"
    type="text/javascript"></script>
<script>
    $(document).ready(function () {
        $(".fancybox").fancybox();
    });
</script>

2 个答案:

答案 0 :(得分:0)

在附加fancybox时确保DOM已准备就绪:

$(function() {
    $('.lightbox').fancybox();
});

还要确保在尝试附加fancybox的脚本之前正确引用了jQuery和fancybox脚本。

答案 1 :(得分:0)

当我的actionlink放在<li>元素中时,我出于某种原因出现了这个问题。

拉出来,错误消失了,fancybox按预期打开了

您的actionlink是否在<li>