【问题标题】:Using ASP.NET MVC 3.0 to display column labels when mousing over bar chart将鼠标悬停在条形图上时使用 ASP.NET MVC 3.0 显示列标签
【发布时间】:2011-05-04 09:11:39
【问题描述】:

我一直在寻找解决方案,虽然我可以看到如何使用 Silverlight 来解决这个问题,但我无法为 ASP.NET 解决这个问题。我使用微软的图表工具生成了一个简单的条形图,但是添加了大量的列,所以 x 轴上的标签不清晰,只显示了少数列。

我用来生成图表的代码是:

public ActionResult ChartUserTotals() {
    var data = new ArrayList {};
    foreach (var user in org.Users) {
        data.Add(new { X = user.FullName, Y = UserTotal });
    }
    new Chart(400, 300, ChartTheme.Blue)
                .AddTitle("User Totals")
                .DataBindTable(data, "X")
                .SetYAxis("Totals")
                .Write("png");
    return null;
}

在我看来:

<img src='@url.Action("ChartUserTotals", "Dashboard")' alt="User Totals"/>

有谁知道如何在鼠标悬停时显示标签值?

【问题讨论】:

    标签: c# asp.net-mvc-3 charts


    【解决方案1】:

    我只是在 Html 元素上使用 Title 属性。

    <img alt="ToolTip" src="/PermitApplication/Content/images/information.png" title="Enter
    the phone number using XXX-XXX-XXXX or (XXX) XXX-XXXX">
    

    似乎可以在任何现代浏览器中使用。

    【讨论】:

      【解决方案2】:

      我知道我很久以前就问过这个问题,但我想我应该提到给定的答案(使用标题属性)不是我想要的(因为工具提示需要根据用户悬停的列而有所不同结束),但是我以不同的方式解决了这个问题。我最终使用了 jQuery 插件 HighCharts(这是一个非常简单,更不用说漂亮的 jQuery 插件)。虽然对 MVC 不太友好,需要通过 Razor 将 C# 数组推送到 javascript 中,但它确实有效。对于任何有类似问题的人,这是我推荐的

      【讨论】:

      • 实际上,这可能更简单——我相信将 json 直接从 asp.net 推送到 javascript 并不难。我没有这样做,但如果是这样的话,那么这个解决方案将是完美的!
      猜你喜欢
      • 2011-02-02
      • 2013-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多