2011-08-09 19 views
0

ブレイク私はそれは、このようなとして登録され、ASP.Netのaspxページで、FancyBoxのヘルプリンクを持っている:ASP.NetポストバックはjQueryのFancyBox

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script> 
    <script type="text/javascript" src="fancybox/jquery.fancybox-1.3.4.js"></script> 
    <link rel="stylesheet" type="text/css" href="fancybox/jquery.fancybox-1.3.4.css" media="screen" /> 

    <script type="text/javascript"> 
     $(document).ready(function() { 

     $("#help").fancybox({ 
      'width': '90%', 
      'height': '90%', 
      'autoScale': true, 
      'transitionIn': 'elastic', 
      'transitionOut': 'none', 
      'titleShow': false, 
      'type': 'iframe' 
     }); 

    }); 
    </script> 

それは正常に動作しますが、2ポストバックの後に(バック第三ポスト後

$.fancybox.center = function() { 
    var view, align; 

    if (busy) { 
     return; 
    } 

    align = arguments[0] === true ? 1 : 0; 
    view = _get_viewport(); 

    if (!align && (wrap.width() > view[0] || wrap.height() > view[1])) { 
     return; 
    } 

、エラーが前にスローされます。まだexeptionが、私はヘルプのリンクをクリックすると、「ラップ」はオブジェクトではありませんと言って)fancybox.jsに(ここではスローされます)1の後に動作しますページはjquery.jsファイル内に完全にロードされていますMicrosoft JScript runtime error: Object doesn't support this property or methodどこにpeticularを指していません。

ポストバックがfancyboxを破る理由は何ですか?

+0

はラップが定義されている

<script type="text/javascript"> $(document).ready(function() { Sys.WebForms.PageRequestManager.getInstance().add_endRequest(lazy_loader); lazy_loader(); }); function lazy_loader() { $("#help").fancybox({ 'width': '90%', 'height': '90%', 'autoScale': true, 'transitionIn': 'elastic', 'transitionOut': 'none', 'titleShow': false, 'type': 'iframe' }); } </script> 

これはうまく動作するはずの各ポストバックであなたのfancyboxクラスをロードしますか?少しだけコードが必要だと思う。おそらく、HTMLのビットを再現し、さらにいくつかの情報をラップし、宣言したり、設定したりしています。 – Josh

+0

@ Joshがより多くのコードを要求したことに同意しました。具体的には、更新パネルを使用している場合は、クライアントサイドのPageRequestManagerイベントを適切に処理して、リクエストの完了時にビヘイビアを登録し直していますか? – Brian

+0

@Brian、私は更新パネルを使用していませんか?通常の 'Help'リンクですが、ポストバックがそれを壊している理由はわかりません。 –

答えて

4

解決策は「lazy_loader」です。

これは