2

Ajax UpdatePanel 内で自動的に生成される画像があります。この画像は、サーバー側のコードから生成されたグラフです。Google で検索すると、FF のバグであることがわかりました。誰にも解決策はありますか?

これがソースです(不要なタグも含まれています。コピーして貼り付けただけです)

<div>
   <asp:UpdatePanel ID="UpdatePanelGraph" runat="server" UpdateMode="Conditional">
       <ContentTemplate>
           <asp:Panel ID="pnlGraph" runat="server" CssClass="container">
                <div id="chart">
                     <Web:ChartControl ID="chartExchange" runat="server" Width="300px" Height="200px" BorderStyle="None" GridLines="both" DefaultImageUrl="../images/noData.png" ShowTitlesOnBackground="False" BorderWidth="1px" Padding="1" HasChartLegend="False" BottomChartPadding="20" TopChartPadding="5" RightChartPadding="5" LeftChartPadding="20">
                            <Border Color="211, 224, 242"></Border>
                            <YAxisFont ForeColor="115, 138, 156" Font="Tahoma, 7pt" StringFormat="Far,Center,Character,LineLimit"></YAxisFont>
                            <XTitle ForeColor="115, 138, 156" StringFormat="Center,Near,Character,LineLimit">
                            </XTitle>
                            <XAxisFont ForeColor="115, 138, 156" StringFormat="Near,Near,Character,NoClip"></XAxisFont>
                            <Background Type="LinearGradient" Color="#C9DEFD" ForeColor="Transparent" EndPoint="500, 500">
                            </Background>
                            <ChartTitle ForeColor="51, 51, 51" Font="Verdana, 9pt, style=Bold" StringFormat="Near,Near,Character,LineLimit">
                            </ChartTitle>
                            <Charts>
                                <Web:SmoothLineChart Name="buy" Legend="Blen">
                                    <Line Color="ActiveCaption"></Line>
                                    <DataLabels>
                                        <Border Color="Transparent"></Border>
                                        <Background Color="Transparent"></Background>
                                    </DataLabels>
                                </Web:SmoothLineChart>
                                <Web:ColumnChart Name="avgChart">
                                </Web:ColumnChart>
                            </Charts>
                            <YTitle ForeColor="115, 138, 156" StringFormat="Center,Near,Word,LineLimit"></YTitle>
                    </Web:ChartControl>
                </div>                
            </asp:Panel>
        </ContentTemplate>
    </asp:UpdatePanel>
</div>
4

5 に答える 5

4

また、これは良い解決策ではありません。キャッシュ可能性を nocache に設定すると、私の問題は解決しました。私はページロードでこれを書きます

  Response.Cache.SetCacheability(HttpCacheability.NoCache);

このコードを設定することでも機能します

<script type="text/javascript">

      var prm = Sys.WebForms.PageRequestManager.getInstance();
      prm.add_pageLoaded(pageLoaded);
      var c = 0;
      function pageLoaded(sender, args)
      {
      var img = document.getElementById("ctl00_ctl00_MainContent_MainContent_chartExchange");
      c++;
      img.src = img.src + "?" + c;
      }

</script>
于 2009-05-13T15:41:05.367 に答える
4

使用している .NET のバージョンは何ですか? 3.5 フレームワークには、新しいグラフ コントロールがあります。私はそれをいじって数日過ごしましたが、その強力さに驚きました. また、UpdatePanels でも問題なく使用できました。

于 2009-05-01T23:30:21.517 に答える
2

FFでもIEでも同じ問題が発生するはずです。

あなたのアップデートパネルであなたが持っていることに気づきました

UpdateMode="Conditional"

ただし、トリガーは指定しません。つまり、更新パネルのコンテンツは、更新パネル内の表示されていないボタン以外ではトリガーされないということです。デバッグのために UpdateMode を Always に変更してみて、問題が解決するかどうかを確認し、そこから適切なトリガーを見つけてください。

于 2009-05-03T06:18:12.743 に答える
1

編集:

グラフィック名/ファイル名の作成方法とブラウザへのレンダリング方法を制御できますか? 画像はブラウザによってキャッシュされますか? AJAX 呼び出しを使用した Java/JSP でのグラフ パッキングに問題がありました。キャッシュの問題を修正するには、AJAX url クエリ文字列変数に GUID を追加する必要がありました。

于 2009-04-30T22:34:03.203 に答える
0

FireBugを掘り下げてみると、120Ditëまたは30Ditëまたはmesataretを選択しても、まったく同じ画像URLが返されることがわかりました。グラフコントロールは、背後のデータが変更された場合でも、同じ画像URLを返しているようです。コントロールのバグのように聞こえます。

WebChartsディレクトリのweb.configを使用して、そこから提供される画像のキャッシュ可能性を設定し、画像がキャッシュされないようにすることができる場合があります。

于 2009-05-13T16:00:45.413 に答える