2011-06-20 9 views
1

私の目的:.NET Chartingイメージに独自のカスタムホバーテキストをロールバックできるように座標と形を返します。私がASP.NETコントロール(画像タグとHTML <map>タグの両方をレンダリングする)を使用していた場合、これは問題ありませんが、私はMVCの世界にいるので、グラフをバイナリイメージとして返します。要旨:ASP.NETチャート - Mapを返すときにバイナリデータとしてチャートを返すとき

public virtual FileStreamResult Chart() 
{ 
    //Set up chart 
    Chart Chart1 = new Chart(); 
    Chart1.RenderType = RenderType.ImageTag; 

    Chart1.ChartAreas.Add(new ChartArea("First")); 

    //Add some lovely data 
    Series s = new Series(); 
    s.Name = "Tasks"; 
    s.Points.AddXY("Task 1", 5, 8); 
    s.ChartArea = "First"; 
    s.ChartType = SeriesChartType.RangeBar; 

    //Add a tooltip - This **should** make the MapAreas collection populate. 
    s.ToolTip = "Hello World"; 

    Chart1.Series.Add(s); 

    if (Chart1.MapAreas.Count == 0) 
     CryRiver(); //Always executed. :*(

    //Output image as FileStreamResult 
    //... 
} 

問題:どんなに私は何をすべきか、私は何が含まれているためにMapAreasコレクションを取得することはできません、私は画像が実際にレンダリングされるまで、座標が読み込まれませんので、これがあると信じる

イメージをバイナリとしてレンダリングするときにチャートデータのマップ領域の座標を取得するにはどうすればよいですか?

ありがとうございます!

答えて

0

答えが見つかりました。それが最高のものかどうかは分かりません。

Chart1.MapAreasが読み込まれる前に、Chart1.RenderControl();を呼び出す必要があります。

関連する問題