Я также использую элемент управления Microsoft Chart в своем приложении ASP.NET MVC. Проблема, которую вы описываете, не может появиться в моем случае. Я могу объяснить почему. У меня есть контроллер MVC с методом GetChart
, который возвращает чистый файл PNG в виде потока. Поэтому я определяю на странице HTML (в представлении, чтобы быть точно) элемент <img>
с атрибутом src
, например "<%= Url.Content ("~/Home/GetChart")%>"
. Поэтому веб-браузер загружает и отображает только PNG-изображение. Такая реализация прекрасно работает во всех браузерах. Он также протестирован и работает с IE6.
Мой GetChart
метод выглядит следующим образом:
public FileStreamResult GetChart (/*some additional parameters*/) {
MyChartModel model = new MyChartModel ();
System.Web.UI.DataVisualization.Charting.Chart chart =
model.CreateChart (/*some parameters*/);
// Save the chart in a MemoryStream
MemoryStream imageStream = new MemoryStream ();
chart.SaveImage (imageStream, ChartImageFormat.Png);
// Reset the stream’s pointer back to the start of the stream.
imageStream.Seek (0, SeekOrigin.Begin);
return new FileStreamResult (imageStream, "image/png");
}
Код модели MyChartModel
немного длиннее, но если у вас уже есть реализация Microsoft Chart, у вас уже есть все необходимое.