Я новичок в создании веб-страниц, поэтому столкнулся с некоторыми проблемами при взаимодействии между бэкэндом и веб-интерфейсом.В настоящее время я хочу показать простую диаграмму (для этого я использую chart.js) с данными, которые я вычисляю в отдельном методе c #.
Мой метод c # выглядит следующим образом:
using System;
using System.Linq;
namespace Programm.Logic
{
public class DoSomethingIntelligent
{
public int[] GetRandomData(int number)
{
int Min = 0;
int Max = 20;
Random randNum = new Random();
int[] data = Enumerable
.Repeat(0, number)
.Select(i => randNum.Next(Min, Max))
.ToArray();
return data;
}
}
}
Теперь я создаю диаграмму в стиле моего файла .cshtml.До сих пор данные жестко закодированы, но я хотел бы создать данные описанным выше способом (GetRandomData()
).Как мне это сделать?Я попытался:
@Model.GetRandomData(6);
, но это выдает «System.Int32 []».Даже если бы это сработало, я бы не стал разбирать эти данные на графике.Мой файл .cshtml выглядит так:
@model Programm.Logic.DoSomethingIntelligent
<!DOCTYPE html>
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.6.0/Chart.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<title>My Chart.js Chart</title>
</head>
<body>
<div class="container">
<canvas id="myChart"></canvas>
</div>
<script>
let myChart = document.getElementById('myChart').getContext('2d');
let thisChart = new Chart(myChart, {
type: 'bar', // bar, horizontalBar, pie, line, doughnut, radar, polarArea
data: {
labels: ['1', '2', '3', '4', '5', '6'],
datasets: [{
label: 'test',
data: [
617594,
181045,
153060,
106519,
105162,
95072
]
}]
}
});
</script>
</body>
</html>
Большое спасибо!