图表.GetHtmlImageMap 无法按预期工作

本文关键字:工作 GetHtmlImageMap 图表 | 更新日期: 2023-09-27 18:17:47

Gents,

我需要帮助才能创建到 Web 应用图表的图像映射。在阅读了许多资源后,在这里和网络上,我最终遇到了以下问题:

问题: 在我看来,我称之为@Html.Action(RenderMyMap(,它渲染了一个标签,带有atribute coords=0,0,0,0。

我在做什么:我的项目是这样组织的:

-Core.cs:负责创建System.Web.UI.DataVisualization.Charting.Chart对象的类; -ClientController:对于现有的图表对象,我使用 Chat.SaveImage(memoryStream,格式(保存它,将其作为字节数组存储在会话变量中,并返回一个 ContentResult 对象,就像返回 Content(chart.GetHtmlImageMap(((; -客户端控制器:之后,我使用会话变量实际渲染图表,例如返回文件(chartByteArray,"image/png"(; -Index.cshtml:最后,在我看来,我正在客户端控制器上调用方法来呈现地图和图表。

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

Bellw 使用我的一个方法的代码,在 ClientController 上,生成并返回 n 个 ImageMap。

    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"));
    }

我做错了什么?

图表.GetHtmlImageMap 无法按预期工作

应将

Url 属性设置为Chart.Series对象。例如:

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

这个错误在带有一组箱形图的复杂图表上导致我。对于简单的图,没有错误,<map>坐标和属性很好。

为了生成地图区域坐标,您需要添加工具提示或URL或地图区域属性:例如

series.Points[idx].ToolTip = tooltip;

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

但是我发现工具提示毫无处,因为它除了坐标之外没有向<map>中的<area>添加任何内容(我做错了什么?我没有测试分配 URL,假设它像另一个答案中断言的那样工作。

添加鼠标悬停和鼠标退出地图区域属性工作得很好,导致:

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

仅供参考,您可以在各种URI中找到有关在MVC中设置Web.UI图表的更多详细信息,包括http://www.codeproject.com/Articles/297677/Using-ASP-Net-Charting-with-Image-Map-in-MVChttp://geekswithblogs.net/DougLampe/archive/2011/01/23/charts-in-asp.net-mvc-2-with-drill-down.aspx。