2017-11-24 22 views
0

私は何かを表示するリピータコントロールを持っています。ポストバック後に更新パネル内のOwl Carouselが消える

<div class="owl-carousel trend" style="height:20px;"> 
    <asp:Repeater ID="rptThing" runat="server" DataSourceID="yyy"> 
     <ItemTemplate> 
      <asp:LinkButton ID="lnkEtiket" runat="server" OnClick="lnkEtiket_Click">go</asp:LinkButton> 
     </ItemTemplate> 
    </asp:Repeater> 
</div> 

これは更新パネルの内部です。ページの読み込みに問題はありませんが、onClikが消えると消えます。私はajax & jqueryの問題について知っていますが、私は問題を解決できませんでした。私はたくさんの例を試しました。そのフクロウカルーセル2

+0

updatepanelがデータを返すと、カルーセルを再初期化する必要があります(つまり、そのコードをもう一度実行する必要があります)。これは、以前に添付されていたHTMLを更新して新しいHTMLセット。また、updatePanel内に置く必要がない場合は、updatePanelの外に移動することもできます。 – ADyson

+0

これはupdatepanel内にある必要があります。私は "function pageLoad(sender、args)"に入れてみましたが、何も変わりませんでした。どのように私はそれをreinitできますか?私はjqueryでうまくいかないよ – serdar

+0

「どうすれば元に戻すことができますか? updatePanelが終了したことを通知するイベントのリスト。その後、最初の場所でカルーセルを初期化するために使用した同じコードを再度実行します。任意のコードと同じように、関数内でラップして再利用できるようにすることができます。私はちょうど以下に掲示された答えが正しいと思う。 – ADyson

答えて

2

あなたが再び結合のjQueryをトリガする必要があります。ここに私のjqueryのは

<script type=text/javascript> 
    var owltrend = $('.trend'); 
    owltrend.owlCarousel({ 
     margin: 5, 
     loop: true, 
     startPosition: 0, 
     lazyLoad: true, 
     rtl: false, 
     nav: false, 
     autoWidth: true, 
    }); 
</script> 

注意です。

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

    var prm = Sys.WebForms.PageRequestManager.getInstance(); 

    prm.add_endRequest(function() { 
     createCarousel(); 
    }); 

    function createCarousel() { 
     var owltrend = $('.trend'); 
     owltrend.owlCarousel({ 
      margin: 5, 
      loop: true, 
      startPosition: 0, 
      lazyLoad: true, 
      rtl: false, 
      nav: false, 
      autoWidth: true, 

     }); 
    } 
</script> 

prm.add_endRequestのUpdatePanelを読み込み実行されたときにトリガされます。

関連する問題