首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MVC应用中的Chart.js

MVC应用中的Chart.js
EN

Stack Overflow用户
提问于 2018-09-19 06:39:32
回答 1查看 2.1K关注 0票数 0

我有一个带有CHart.js的MVC应用程序。可以在View事件上加载CHart.js。

我希望在html按钮单击事件上加载Chart.js。单击按钮,调用控制器,并根据搜索条件对数据进行筛选。我希望这个过滤过的内容显示在chart.js上。

如何调用javascript函数在单击按钮完成控制器进程后按一下按钮加载图表。

输入过滤条件2.单击按钮3.控制器根据过滤器4从数据库中获取数据。然后调用视图中的javascript函数加载chart.js

让我知道该怎么做。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-19 07:28:20

为了在JavaScript中显示从Controller返回的数据,有两个选项:

第一

在视图中使用剃刀语法来引用控制器返回的模型。这意味着您的JavaScript也将写入您的视图中。

代码语言:javascript
复制
@model 'yourViewModel'

<div>
 //your view html code
</div>

<script>
document.getElementById("button").click(function() {
   var chartData= @Html.Raw(Json.Serialize(Model.'nameOfYourModel'));

   var ctx = document.getElementById("myChart").getContext('2d');

   var myLineChart = new Chart(ctx, {
     type: 'line',
     data: chartData,
     options: options
   });

</script>

第二

通过AJAX从控制器中检索数据,为此,我建议使用jQuery库。因为它使语法更易于编写和理解。

代码语言:javascript
复制
var chartData;
$('.button').click(function() { //your button
  $.ajax({ // Invoke controller action to retrieve data
    url: "path to your controller and its action",
    type: 'GET',
    success: function(data){
       chartData = data;
    }
  });

  var ctx = $("myChart").getContext('2d');

  var myLineChart = new Chart(ctx, {
     type: 'line',
     data: chartData,
     options: options
  });
}

使用这种方法,您可以调用控制器操作,该操作以JSON格式返回图表数据。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52399619

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档