2012-05-03 48 views
0

我有一個頁面,它使用ASP.NET 4.0圖表控件生成四個圖並顯示它們。圖表在頁面加載的代碼隱藏中創建,並添加到頁面上的表格中。ASP.NET圖表控件 - 第一個圖表在第一次加載時顯示空白頁

我的問題是,當頁面加載時,第一個或更多的圖形(通常只有一個,但有時2或3)是空白的(用戶得到一個空的輪廓框的大小與紅色X在左上角)。

刷新頁面會導致所有圖形正確呈現。

關於如何讓圖形填充第一遍的任何想法?

下面是生成圖表並將其添加到頁面的代碼(包含此代碼的例程稱爲4次)。需要注意的是,「點」對象包含名稱 - 值對,其中名稱是要顯示在X軸上的標籤的集合,和值是數字Y軸值:

Chart graph = new Chart(); 
graph.Width = 800; 
graph.Height = 400; 
Series series = new Series(); 
series.Name = "Series1"; 
series.Palette = ChartColorPalette.Bright; 
series.IsXValueIndexed = true; 
for (int j = 0; j < points.Count; j++) 
{ 
    DataPoint dataPoint = new DataPoint(j+1.0, points.GetItem(j).Value); 
    dataPoint.AxisLabel = points.GetItem(j).Name.Trim();      
    series.Points.Add(dataPoint); 
} 
graph.Series.Add(series); 
ChartArea chartArea = new ChartArea(); 
chartArea.Name = "ChartArea1"; 
chartArea.AxisX.Interval = 1; 
chartArea.AxisY.LabelStyle.Format = "###,###,###,###"; 
graph.ChartAreas.Add(chartArea); 
graph.Titles.Add(caption); 

TableRow tr = new TableRow(); 
TableCell td = new TableCell(); 
td.Width = new Unit(100.0, UnitType.Percentage); 
tblGraph.Rows.Add(tr); 
tr.Cells.Add(td); 
td.Controls.Add(graph); 

回答

0

同問題在這裏。圖表圖像被寫入文件系統,但是這種情況發生在頁面渲染後約20毫秒。如果您在渲染Chart控件後將您的代碼休眠了20毫秒,問題就不會發生 - 將有時間將圖像寫入磁盤。

+0

您是否發現在任何地方記錄? –

+0

我試過這個沒有運氣,即使延遲高達2500毫秒。 – qwerty13579

0

這樣做的過程是什麼(渲染頁面的延遲)?我有同樣的問題。在開發中,圖表(這裏只有一個)不能顯示9次10次。在生產中,該圖表顯示約10次中的7次。這是我想要解決的10個問題中的3個。

相關問題