首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用ASP.NET MVC3图表Web Helper显示工具提示

如何使用ASP.NET MVC3图表Web Helper显示工具提示
EN

Stack Overflow用户
提问于 2011-04-02 14:33:26
回答 3查看 3K关注 0票数 1

在ASP.NET MVC3Razor引擎中chart Web Helper生成的图表上有没有显示工具提示的示例?当用户单击父图表的任何点时,我必须创建和显示子图表。请让我知道如何做这件事。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-07-20 13:50:48

现在,没有办法做到这一点。

票数 1
EN

Stack Overflow用户

发布于 2011-05-24 09:19:18

我不完全确定你在问什么,但我对此的看法是...

这将显示一个带有图表的页面。当您单击图表时,它将打开一个新图表。非常基础,但也许足够让你玩一玩了。

把这个放到你的控制器里:

代码语言:javascript
运行
复制
    public ActionResult GetRainfallChart()
    {
        var key = new Chart(width: 600, height: 400)
            .AddSeries(
                chartType: "bar",
                legend: "Chart",
                xValue: new[] { "Mon", "Tue", "Wed", "Thu", "Fri" },
                yValues: new[] { "23", "12", "13", "42", "22" })
            .Write();

        return null;
    }

    public ActionResult GetRainfallChart2()
    {
        var key = new Chart(width: 600, height: 400)
            .AddSeries(
                chartType: "pie",
                legend: "Another chart",
                xValue: new[] { "Mon", "Tue", "Wed", "Thu", "Fri" },
                yValues: new[] { "23", "12", "13", "42", "22" })
            .Write();

        return null;
    }

下面是你的观点:

代码语言:javascript
运行
复制
<!DOCTYPE html>
<html>
<head>
    <script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/jquery-ui.min.js")" type="text/javascript"></script>
    <script>
        $(function () {
            $("#dialog").dialog({
                autoOpen: false
            });

            $("#chart").click(function () {
                $("#dialog").dialog("open");
                return false;
            });
        });
    </script>
</head>

<body>

    <img id="chart" src="/Home/GetRainfallChart" alt="Chart tooltip" />

    <div id="dialog">
        <img src="/Home/GetRainfallChart2" />
    </div>

</body>
</html>
票数 0
EN

Stack Overflow用户

发布于 2020-06-26 22:54:43

System.Web.UI.DataVisualization.Charting.Chart中还有另一个Chart类。它使用相同的渲染器,但让您可以更轻松地从代码创建图表。此Chart具有内置函数GetHtmlImageMap,您可以使用该函数显示每个数据点的工具提示。视图模型将同时包含图像映射和图像。

遗憾的是,@Html.ImageFromByte不允许您指定图像映射,但您可以解决此问题。将图形图像转换为base64,使用原始html显示它。

控制器:

代码语言:javascript
运行
复制
            System.Web.UI.DataVisualization.Charting.Chart chart = // create your chart
            var stream = new MemoryStream();
            chart.SaveImage(stream, ChartImageFormat.Png);
            var vm = new YourViewModel
            {
                ChartBase64 = Convert.ToBase64String(stream.GetBuffer()),
                ChartHtmlMap = chart.GetHtmlImageMap("map")
            };

视图模型:

代码语言:javascript
运行
复制
        public string ChartBase64 { get; set; }
        public string ChartHtmlMap { get; set; }

cshtml:

代码语言:javascript
运行
复制
    @Html.Raw("<img src=data:image/jpg;base64," + Model.ChartBase64 + " usemap=\"#map\">")
    @Html.Raw(Model.ChartHtmlMap)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5521618

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档