Использование ASP.NET MVC 3.0 для отображения меток столбцов при наведении курсора мыши на столбчатую диаграмму

#c# #asp.net-mvc-3 #charts

#c# #asp.net-mvc-3 #Диаграммы

Вопрос:

Я искал решение этой проблемы, и хотя я вижу, как это сделать с Silverlight, я не могу решить это для ASP.NET. Я сгенерировал простую столбчатую диаграмму с помощью инструментов Microsoft для построения диаграмм, но добавлено большое количество столбцов, поэтому метки на оси 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"/>
  

Кто-нибудь знает, как я могу отобразить значения меток при наведении курсора мыши на столбец?

Ответ №1:

Я просто использую атрибут Title в Html-элементе.

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

Кажется, работает в любом современном браузере.

Ответ №2:

Я знаю, что задавал этот вопрос давным-давно, но я подумал, что должен упомянуть, что данный ответ (с использованием заголовка attirbute) — это не то, что я искал (поскольку всплывающая подсказка должна отличаться в зависимости от того, над каким столбцом пользователь наводит курсор), однако я решил это по-другому. В итоге я использовал плагин jQuery HighCharts (который является действительно простым, не говоря уже о красивом, плагине jQuery). Хотя это не очень удобно для MVC, потребовалось вставить массив C # в javascript через Razor, но это сработало. Для всех, у кого подобная проблема, это то, что я бы порекомендовал

Комментарии:

1. на самом деле, это могло бы быть проще — я считаю, что не так уж сложно отправить json непосредственно из asp.net к javascript. я этого не делал, но если это так, то это решение было бы идеальным!