ASP.Net Chart Control не работает должным образом в IE 9.0 - PullRequest
1 голос
/ 15 августа 2011

Я использовал ASP: управление диаграммами в своем веб-приложении, и оно работало нормально, пока я не обновил свой браузер с IE 8.0 до 9.0.

Теперь почти каждый раз, когда я захожу на страницы с некоторыми элементами управления диаграммойв них изображение не будет отображаться, но если я ссылаюсь на страницу, оно всегда правильно отображает изображения.

Поэтому я провел небольшое исследование и внес некоторые изменения в мой ключ ChartImageHandler в веб-конфигурации.теперь это что-то вроде этого:

[папка с диаграммами изображений] указывает на папку внутри моего веб-приложения с полным разрешением для пользователя моего пула приложений (фактически только для тестирования я дал полное разрешениевсем, определенно не проблема с разрешениями).

Проблема в том, что у меня нет проблем с Firefox, Safarai, Chrome или даже более старыми версиями IE, проблема возникает только в IE 9.0 (кстати, если я переключаюсьв режиме совместимости в IE 9.0 он работает нормально).

При попытке просмотреть эту страницу с помощью IE 9.0 я вижу, что в этой папке будут созданы изображения диаграмм, но они не будут удалены, но с использованием любыхВ другом браузере эти файлы создаются, а затем удаляются без проблем.

Я попытался использовать «storage = session» или «storage = memory», не повезло, хотя я уверен, что не могу использовать «memory», потому чтоон должен быть развернут на платформе с несколькими веб-серверами (балансировщики нагрузки и прочее).

к сожалению, большинство пользователей используют IE 9.0, и я не могу заставить их использоватьДругой браузер или переключиться в режим совместимости.

Буду признателен за помощь, ребята.

Ответы [ 4 ]

1 голос
/ 06 сентября 2011

У меня была точно такая же проблема, и я решил ее.

Моя веб-страница, на которой находился элемент управления asp: chart, имеет ссылку на главную страницу

MasterPageFile = "~ / MasterPage.master"

На главной странице у меня есть ссылки на .js и .css.

Я решил эту проблему, изменив порядок ссылок (сначала вы должны ссылаться на код javascript)

Я не знаю, почему это происходит, IE 9.0.

1 голос
/ 06 сентября 2011

попробуйте добавить ImageStorageMode = "UseImageLocation" на график.поэтому диаграмма будет выглядеть как

<asp:Chart ID="Chart1" runat="server" DataSourceID="drawChartObjectDataSource" Height="200px"
    Width="800px" EnableViewState="True" ImageStorageMode="UseImageLocation">

, а затем перейдите в ваш web.config и добавьте AppSetting

<configuration>

  <appSettings>
    <add key="ChartImageHandler" value="storage=file;timeout=400;dir=c:\TempImageFiles\;" />
  </appSettings>

обратите внимание на расположение сохраненных изображений C: \ TempImageFiles \ MUST BE EXSIT

Спасибо, надеюсь, это решит проблему

0 голосов
/ 29 марта 2012

Я решил проблему, добавив параметр deleteAfterServicing = false в обработчик изображения в web.config.например,

<appSettings>
    <add key="ChartImageHandler" value="storage=file;timeout=400;dir=c:\TempImageFiles\;deleteAfterServicing=false;" />`
</appSettings>`

Обратите внимание, что при использовании этого метода изображения не будут удалены после обслуживания, как следует из названия параметра.Это означает, что вам придется управлять этим самостоятельно.

0 голосов
/ 06 сентября 2011

Используйте диаграмму слияния или диаграмму Зеда

http://www.fusioncharts.com/

http://www.codeproject.com/KB/graphics/zedgraph.aspx

...