2011-12-13 52 views
1

男士,chart.GetHtmlImageMap不能按預期工作

我需要幫助來創建一個圖片到我的web應用程序的圖表。在這裏和在網絡上閱讀了許多資源,之後,我結束了以下問題:

問題: 在我看來,我特意打電話@ Html.Action(RenderMyMap),呈現一個<地圖>標籤,與財產coords = 0,0,0,0。

我在做什麼: 我的項目是按這種方式組織:

-Core.cs:類RESPONSABLE創建System.Web.UI.DataVisualization.Charting.Chart對象; -ClientController:對於現有的Chart對象,我使用Chat.SaveImage(memoryStream,format)保存它,將它作爲字節數組存儲在會話變量中,並返回ContentResult對象,如返回Content(chart.GetHtmlImageMap ()); -ClientController:之後,我使用會話變量來實際呈現圖表,如返回File(chartByteArray,「image/png」); -Index.cshtml:最後在我看來,我調用了ClientController的方法來渲染地圖和圖表。

我的設置: .NET 4.0,MVC3,SQL Server 2008的

Bellw去我的方法之一的代碼,在ClientController,生成並返回否的圖像映射。

public ActionResult ChartMapGetClientsByType() 
    { 
     System.Web.UI.DataVisualization.Charting.Chart chart = null; 
     if (Session["GraficoClientePorTipo"] != null) 
     { 
      chart = (System.Web.UI.DataVisualization.Charting.Chart)Session["GraficoClientePorTipo"]; 
      Session.Remove("GraficoClientePorTipo"); 
     } 
     else 
     { 
      chart = MeuMRP.Core.Chart.CreateChartImageMap("GraficoClientePorTipo", SeriesChartType.Pie); 
      chart.IsMapEnabled = true; 
      System.IO.MemoryStream ms = new System.IO.MemoryStream(); 
      chart.SaveImage(ms, ChartImageFormat.Png); 
      Session["GraficoClientePorTipo"] = ms.ToArray(); 
     } 
     return Content(chart.GetHtmlImageMap("GraficoClientePorTipo")); 
    } 

我在做什麼錯?

回答

1

您應該將Url屬性設置爲Chart.Series對象。例如:

chart.Series[0].Url = "#"; 
0

對於具有一組BoxPlot的複雜圖表,我出現了此錯誤。 對於簡單的圖表,沒有錯誤,<map>罰款的座標和屬性。

爲了生成地圖區域座標,需要添加工具提示或URL或MapAreaAttributes:例如,

series.Points[idx].ToolTip = tooltip;

series.Points[idx].MapAreaAttributes = "onmouseover=\"DisplayTooltip('" + tooltip +"');\" onmouseout=\"DisplayTooltip('');\""; 

但我發現工具提示無用,因爲它在<map>除了座標沒什麼好<area>加(我是什麼我做錯了?)。我沒有測試分配一個Url,假設在另一個答案中有效。

添加鼠標懸停及移出MapAreaAttributes作品就好造成這樣的:

<area onmouseover="DisplayTooltip('99');" onmouseout="DisplayTooltip('');" shape="rect" coords="98,44,103,49" alt=""> 

FYI你可以找到更多的細節上設置Web。在MVC中的UI圖表,以各種URI,包括 http://www.codeproject.com/Articles/297677/Using-ASP-Net-Charting-with-Image-Map-in-MVC http://geekswithblogs.net/DougLampe/archive/2011/01/23/charts-in-asp.net-mvc-2-with-drill-down.aspx