Fancybox не может открыть частичное представление - PullRequest
1 голос
/ 31 марта 2012

Я хочу открыть частичное представление в 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 голосов
/ 15 апреля 2014

У меня возникла эта проблема по какой-то причине, когда моя actionlink была помещена в элемент <li>.

вытащил и ошибка ушла, fancybox открылся как положено

Является ли ваша actionlink в <li>?

0 голосов
/ 31 марта 2012

Убедитесь, что DOM готов к установке fancybox:

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

Также убедитесь, что на скрипты jQuery и fancybox имеются правильные ссылки перед сценарием, к которому вы пытаетесь подключить fancybox.

...