سؤال

لدي صورة يتم إنشاؤها تلقائيًا داخل Ajax UpdatePanel.هذه الصورة عبارة عن رسم بياني تم إنشاؤه من التعليمات البرمجية من جانب الخادم.بالبحث في جوجل، أدركت أن هذا خطأ في 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>
هل كانت مفيدة؟

المحلول 2

كما أنه ليس حلاً جيدًا، حيث أدى ضبط إمكانية التخزين المؤقت على 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>

نصائح أخرى

ما هو إصدار .NET الذي تستخدمه؟يحتوي الإطار 3.5 على عنصر تحكم رسومي جديد.قضيت بضعة أيام ألعب بها، وفوجئت بمدى قوتها.واستخدمته أيضًا في UpdatePanels دون أي مشاكل على الإطلاق.

يبدو لي أنه يجب أن يكون لديك نفس المشكلة على FF أو IE، بغض النظر.

لقد لاحظت في لوحة التحديث الخاصة بك أن لديك

UpdateMode="Conditional"

لكنك لم تحدد أي مشغلات.ما يعنيه ذلك هو أن محتوى لوحة التحديث لن يتم تشغيله بواسطة أي شيء آخر غير أي أزرار داخل لوحة التحديث والتي لا أراها.حاول تغيير UpdateMode إلى Always لتصحيح الأخطاء ومعرفة ما إذا كان ذلك سيؤدي إلى حل مشكلتك، ثم اكتشف المشغل المناسب من هناك.

يحرر:

هل يمكنك التحكم في كيفية إنشاء اسم الرسم/اسم الملف وعرضه على المتصفح؟هل يمكن تخزين الصورة مؤقتًا بواسطة المتصفح؟واجهت مشكلات تتعلق بتعبئة الرسوم البيانية في Java/JSP مع مكالمات AJAX.اضطررت إلى إلحاق GUID بمتغير سلسلة استعلام عنوان URL الخاص بـ AJAX لإصلاح مشكلة التخزين المؤقت.

بعض الحفر مع FireBug قادني إلى اكتشاف أنه يتم إرجاع نفس عنوان URL للصورة بالضبط سواء قمت بتحديد 120 Ditë أو 30 Ditë أو mesataret.يبدو أن عنصر التحكم في الرسم البياني الخاص بك يعرض نفس عنوان URL للصورة، حتى عندما تتغير البيانات الموجودة خلفه.يبدو لي وكأنه خطأ في السيطرة.

قد تتمكن من استخدام web.config في دليل WebCharts لتعيين إمكانية التخزين المؤقت للصور التي يتم تقديمها من هناك، بحيث لا يتم تخزينها مؤقتًا أبدًا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top