2012-03-31 3 views
1

Я хочу открыть частичный вид в 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> 

ответ

0

Убедитесь, что DOM готова при креплении FancyBox:

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

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

+0

Я обновил вопрос. Код JS для fancybox находится в $ (document) .ready. Я также попытался добавить ссылку на jquery на этой странице (но это уже на странице макета), но ничего. То, что подключено, - это то, что другие объекты fancybox работают отлично (изображения). – 1110

+0

Выполнено действие контроллера? У вас есть соответствующее представление: '~/Views/Feedback/New.cshml'? –

+0

Нет. Но когда я добавляю ссылку на jquery на этой странице, нажмите ее. Но не открывать страницу в fancybox, она открывает ее как новую страницу. – 1110

0

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

Вытащил его и ошибка ушла, FancyBox открылась, как и ожидалось

Ваш ActionLink в <li>?