FancyBox с PartialView в MVC3

Мне интересно, есть ли у кого-нибудь идея, как использовать FancyBox на сайте MVC3 для загрузки частичного представления (в виде всплывающего окна). У меня FancyBox отлично работает при загрузке полного представления, но ломается, если метод контроллера возвращает частичное представление.

  1. Я выполнил все инструкции на сайте fancybox.
  2. настройки:

    $("a.myclass").fancybox({
     ...
     'type': ajax
    });
    
  3. связь

    @Html.ActionLink("My Popup", "MyActionName", new {@class = "myclass"} )
    

Любая идея, почему это будет работать с полным представлением, а не с частичным?

Спасибо!!


person user1012939    schedule 06.01.2012    source источник
comment
Я также хотел бы знать. Вы нашли ответ? Я пытаюсь показать карту Google во всплывающем окне. Моей первой идеей было использовать Layout=null, но я использую Orchard CMS, и это не поддерживается. Хотя, возможно, это поможет вам.   -  person Matt    schedule 01.03.2012


Ответы (1)


  1. Привяжите FancyBox к классу и укажите ajax, как я сделал здесь:

    $(".emailViewFancybox").fancybox(
    {                
        type: 'ajax',
        transitionIn: 'none',
        transitionOut: 'none'
    });
    
  2. Дайте все, что вы хотите вызвать, атрибут href, содержащий URL-адрес. Используйте @Url.Content вот так: @Url.Content("~/MyController/MyPartialViewName")

  3. Убедитесь, что возвращаемое значение ActionResult равно PartialView:

    return PartialView("MyPartialViewName", myObjectModel);
    
  4. Для этого потребуется маршрут в Global.asax.

person Jim Neff    schedule 26.06.2012