У меня проблема с живым графиком Chart.js, где ось Y не обновляется. Я использую RazorPages для вызова функции C #, которая генерирует случайное число, расположенное на стороне cshtml.cs RazorPage. Когда я вызываю эту функцию в моей cshtml-части страницы Razorpage, она примет первое значение, сгенерированное функцией, и будет постоянно передавать это одно значение.
Вот код для справки.
C # код в cshtml.cs
public class IndexModel:PageModel
{
public int RNG(){
Random rnd = new Random();
int num = rnd.Next(1, 10);
return num;
}
}
Соответствующий код Javascript в cshtml.cs
function onRefresh(chart) {
chart.config.data.datasets.forEach(function (dataset) {
dataset.data.push({
x: Date.now(),
y: @Model.RNG() //Where I call my c# function
});
});
}
var config_Chart = {
type: 'line',
data: {
datasets: [{
label: 'Chart Data',
backgroundColor:
color(chartColors.red).alpha(0.5).rgbString(),
borderColor: chartColors.red,
fill: false,
lineTension: 0,
borderDash: [8, 4],
data: []
}]
},
options: {
title: {
display: true,
text: 'Chart (Real Time)'
},
scales: {
xAxes: [{
type: 'realtime'
}],
yAxes: [{
scaleLabel: {
display: true,
labelString: 'value'
}
}]
},
tooltips: {
mode: 'nearest',
intersect: false
},
hover: {
mode: 'nearest',
intersect: false
},
plugins: {
streaming: {
duration: 20000,
refresh: 1000,
delay: 2000,
onRefresh: onRefresh
}
}
}
};
Как заставить диаграмму постоянно обновлять ось Y различными числами, сгенерированными из моей функции c #?