2017-02-23 13 views
3

現在、ASP.NETとC#を使用しているWebサイトを開発中です。このウェブサイトでは、2セットのイメージバナーを表示しています。最初のイメージバナーはC#コードで埋められており、変更されません。UpdatePanelトリガー時に画像が表示されない

<div class="divArticleCar"> 

    <div id="OwlDemo" class="owl-carousel owl-theme" style="padding:25px;" runat="server"> 
    </div> 

    <div class="customNavigation "> 
     <a class="btn prev "><span class="glyphicon glyphicon-menu-left"></span><br/></a> 
     <a class="btn next "><span class="glyphicon glyphicon-menu-right"></span><br/></a> 

    </div> 
</div> 

第2は、画像データベースからの外部APIへの接続を使用します。テキスト入力とボタンがあるので、ユーザーがキーワードを検索すると、2番目のバナーが新しい画像で更新されます。私はAJAX <asp:UpdatePanel>タグを使用して画像の結果を更新しています。

<asp:UpdatePanel runat="server" id="UpdatePanel2" updatemode="Conditional"> 
    <Triggers> 
    <asp:AsyncPostBackTrigger controlid="btnSearchImage" EventName="ServerClick" /> 
    </Triggers> 
    <ContentTemplate> 
    <div class="divArticleCar"> 
     <div id="OwlDemo2" class="owl-carousel owl-theme" style="padding:25px;" runat="server"> 
     </div> 
    <div class="customNavigation CN2"> 
      <a class="btn prev2 "> 
       <span class="glyphicon glyphicon-menu-left"></span> <br> 
      </a> 
      <a class="btn next2 "> 
       <span class="glyphicon glyphicon-menu-right"></span> <br> 
      </a> 
     </div> 
    </div> 
    </ContentTemplate> 
</asp:UpdatePanel> 

問題は、ContentTemplate内のイメージが更新されるときです。彼らはちょうど表示されていません、バナーが消えます。私はバックグラウンドコードをチェックしました.C#はAPIの結果を得ていて、新しいイメージを追加しています。表示されません。バナーは2つのJavascriptファイルで管理されています。

まず:carrusel.js

第二:画像が消えている理由owlCarousel.js

誰かが知っていますか?

+0

特定のスタックとは無関係に、 'HTML' +' CSS' + 'JS'を出力します。あなたが問題の[mcve]を提供できるならば、 'CSS'ルールや' JavaScript'関数があなたの要素の現在の状態をどのように決定するのか、あなたはそれをソースに追跡して修正することができます。要素を適切に表示するための強力なルールを適用します。あなたのブラウザのコンソールで興味深いものは何ですか? –

答えて

0

UpdatePanelを使用すると、ページの読み込みが完了したときに呼び出されるすべてのjavascript関数を再度トリガーする必要があります。

$(document).ready(function() { 
    buildCarousel(); 
}); 

あなたはbuildCarousel()は部分ポストバック後に再度トリガされていることを確認するためにいくつかのコードを追加する必要があります。

だからあなたはカルーセルを構築するために、このどこかのようなものを持って言うことができます。

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

prm.add_endRequest(function() { 
    buildCarousel(); 
}); 
+0

これはまさに何が起こったのか、カルーセルを制御するスクリプトはポストバックで初期化されていませんでした。画像はありましたが、「表示」プロパティはNONEに設定されていました。ありがとう –

関連する問題