1

MVC3 サイトで FancyBox を使用して部分ビューを (ポップアップとして) ロードする方法について、誰かがアイデアを持っているかどうか疑問に思っています。FancyBox は、完全なビューをロードするときに問題なく動作しますが、コントローラー メソッドが部分的なビューを返すと壊れます。

  1. ファンシーボックスサイトのすべての指示に従いました。
  2. カスタマイズ:

    $("a.myclass").fancybox({
     ...
     'type': ajax
    });
    
  3. リンク

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

これが部分ビューではなく完全ビューで機能する理由は何ですか?

ありがとう!!

4

1 に答える 1

2
  1. クラスにバインドFancyBoxし、ajaxを指定します-ここで行ったように:

    $(".emailViewFancybox").fancybox(
    {                
        type: 'ajax',
        transitionIn: 'none',
        transitionOut: 'none'
    });
    
  2. これをトリガーするものは何でも、URLを含むhref属性を指定します。@Url.Contentそのように使用します:@Url.Content("~/MyController/MyPartialViewName")

  3. ActionResult戻り値が次のとおりであることを確認してくださいPartialView

    return PartialView("MyPartialViewName", myObjectModel);
    
  4. これには、のルートが必要になりGlobal.asaxます。

于 2012-06-26T19:26:45.013 に答える