2017-01-16 2 views
0

My ActionLink не открывает необходимое действие в fancybox, а просто работает как обычный ActionLink, генерируя контент на другой вкладке.@ Html.ActionLink не открывается в fancybox

Вот как я включил сценарии _layout:

<head> 
@Styles.Render("~/Content/css") 
@Scripts.Render("~/bundles/modernizr") 
@Scripts.Render("~/bundles/angular") 

@section Styles { 
    <link href="@Url.Content("~/Content/main/Navbar.css")" rel="stylesheet" type="text/css" /> 
    <link rel="stylesheet" href="~/Content/jquery.fancybox.css" type="text/css" media="screen" /> 
} 
</head> 

<body> 
<script src="~/Scripts/jquery-ui-1.12.1.js"></script> 

<script type="text/javascript" src="~/Scripts/jquery.fancybox-buttons.js"> </script> 
<script type="text/javascript" src="~/Scripts/jquery.fancybox-thumbs.js"> </script> 
<script type="text/javascript" src="~/Scripts/jquery.fancybox-media.js"> </script> 
<script type="text/javascript" src="~/Scripts/jquery.fancybox.pack.js"> </script> 
<script type="text/javascript" src="~/Scripts/jquery.fancybox.js"> </script> 

<script src="~/Scripts/mail/app.js"></script> 
@RenderSection("scripts", required: false) 
</body> 

Мой ActionResult является GET действие не требует какого-либо параметра Model.ID. Это ActionLink:

@Html.ActionLink("FancyBox", "CreateExpCV", "_CandidateForm", null, new { @class = "fancybox" }) 

Это сценарий:

<script type="text/javascript"> 
$(function() { 
    $('.fancybox').fancybox(); 
}); 
</script> 

Я не понимаю, Что проблема и я теряю слишком много времени на это очень расстраивает проблемы.

+0

Проблема в том, что fancybox является плагином jQuery и зависит от работы jQuery, вы забыли включить jQuery (подсказка: jquery-ui ** is not ** jQuery) – JFK

ответ

1

ActionLink работает в обычном режиме означает, что ваш FancyBox плагин не работает или конфликтов с другими плагинами (может быть JQuery-ui- *). Убедитесь, что ориентация плагинов в порядке. В противном случае ваши скрипты выглядят хорошо :)

+0

Оба ответа частично верно, сценарии, как они были включены, хороши, но что-то все еще противоречиво. Я пробовал код из @Alf Moh и fancybox не был функцией. Затем я просто дал ActionLink, и я использовал обычный тег привязки, и это сработало, поэтому что-то противоречит ActionLink, но у меня нет терпения искать, потому что он уже разрушил 2 часа, и я хочу забыть об этом :) – Eduard

1

Попробуйте

$(function() {  
$(".fancybox").click(function(event) { 
event.preventDefault(); 
this.fancybox(); 
    }); 
}); 
Смежные вопросы