2012-03-31 1 views
1

Ich möchte Teilansicht in Fancybox wie eine modale Ansicht öffnen, aber wenn ich auf den Link klicke öffnet es ganze neue Seite aber es sollte das in fancybox öffnen.
Ich weiß nicht, ob das wichtig ist, aber ich habe noch eine Funktion, die Bilder in fancybox (auf der gleichen Seite) öffnen und es funktioniert. Klassennamen sind verschiedeneFancybox kann Teilansicht nicht öffnen

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

JS

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

Aktion Methode

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

ich auch diesen Fehler in Browser-Konsole erhalten:

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 

-Code aus separaten Demo-Projekt

<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> 

Antwort

0

Stellen Sie sicher, das DOM bereit ist, wenn die fancybox Befestigung:

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

auch sicher, dass die jQuery und fancybox Skripte vor dem Skript richtig referenziert werden, in dem Sie die fancybox zu befestigen versuchen.

+0

Ich habe die Frage aktualisiert. JS-Code für fancybox ist im $ (document) .ready. Ich habe auch versucht, jquery Verweis auf dieser Seite hinzuzufügen (aber es ist bereits in der Layout-Seite), aber nichts. Was verkabelt ist, ist, dass ein anderer fancybox Artikel funktioniert (Bilder). – 1110

+0

Wird die Controller-Aktion ausgelöst? Haben Sie eine entsprechende Ansicht: '~/Views/Feedback/New.cshml'? –

+0

Nein. Aber wenn ich jQuery Verweis auf dieser Seite hinzufügen, dann drücken Sie es. Aber nicht offene Seite in fancybox öffnet es als neue Seite. – 1110

0

Ich hatte dieses Problem aus irgendeinem Grund, wenn mein Actionlink innerhalb eines <li> Elements platziert wurde.

zog es aus und der Fehler ging weg, fancybox als

erwartet geöffnet Ist Ihr Actionlink in einem <li>?