ASP.NET MVC的Pro and Cons图表控件

时间:2015-07-07 08:48:10

标签: asp.net-mvc charts asp.net-mvc-5

这个话题可能是固执己见的。如果是这样,请道歉。我需要评估以下问题:

  1. 我应该使用ASP.NET MVC控制器生成图表并将图像返回给客户端吗? 如果选择这种方法,我可以使用任何可靠的免费MVC图表控件吗?

  2. 我应该使用客户端图表控件生成图表并返回客户端要使用的JSON数据吗? 如果我继续使用这种方法,如何保护客户端的数据消耗?我想通过简单的浏览器查看源功能来防止普通数据被复制或读取。

  3. 谢谢!

2 个答案:

答案 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,这是一个绘制图形的开源库。