#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. я этого не делал, но если это так, то это решение было бы идеальным!