这个话题可能是固执己见的。如果是这样,请道歉。我需要评估以下问题:
我应该使用ASP.NET MVC控制器生成图表并将图像返回给客户端吗? 如果选择这种方法,我可以使用任何可靠的免费MVC图表控件吗?
我应该使用客户端图表控件生成图表并返回客户端要使用的JSON数据吗? 如果我继续使用这种方法,如何保护客户端的数据消耗?我想通过简单的浏览器查看源功能来防止普通数据被复制或读取。
谢谢!
答案 0 :(得分:0)
免责声明:我没有在ASP.NET MVC中尝试此操作> 3,但可能工作正常。
作为我评论的后续行动。如果只需要:条形图,饼图,柱形图,则可以使用ASP.NET Web Helpers Library https://www.nuget.org/packages/Microsoft.AspNet.WebHelpers/。
在您的控制器中,您将有一个动作'DrawChart'或类似的东西(对于PNG格式):
public ActionResult DrawChart()
{
var chart = new Chart(width: 300, height: 200)
.AddSeries(
chartType: "bar",
xValue: new[] { "10 Records", "20 Records", "30 Records", "40 Records" },
yValues: new[] { "50", "60", "78", "80" })
.GetBytes("png");
return File(chart, "image/bytes");
}
并查看:<img src="@Url.Action("DrawChart")" alt="Drawing chart with HTML Helper" />
此处的示例:http://weblogs.asp.net/jalpeshpvadgama/chart-helpers-in-asp-net-mvc3
答案 1 :(得分:0)
看看这个library。
它使用Canvas控件(而不是PNG),为您提供交互性和动画。 数据是生成服务器端的(因此您不需要公开数据源)并将其传递给chartJS,这是一个绘制图形的开源库。