Как обработать переданные данные из c# в JavaScript (MVC, WebApi)
Меня интересуют все возможные (правильные) способы передачи данных из С# в JavaScript и дальнейшая работа с этими данными в JS (как распарсить или нужна десериализация. Что нужно делать?).
Вот пример кода с которым возникла подобная проблема: Метод из контроллера
[HttpGet]
public async Task<IActionResult> Currencies(int page = 1)
{
// выбираю из БД последнюю дату и конвертирую для дальнейшей передачи в JS
var dat = context.ValCurses.LastOrDefault().Date;
ViewBag.Date = JsonConvert.SerializeObject(dat);
// Дальше идет реализация пагинации
int pageSize = 10;
IQueryable<Valute> source = context.Valutes.Include(x => x.ValCurs);
var count = await source.CountAsync();
var items = await source.Skip((page - 1) * pageSize).Take(pageSize).ToListAsync();
PageInfo pageInfo = new PageInfo(count, page, pageSize);
IndexViewModel viewModel = new IndexViewModel { PageInfo = pageInfo, Valutes = items };
return View(viewModel);
}
Соответствующее View (тут только отсутствует вывод информации в виде таблицы)
P.S. Я использую Chart.JS для графика, но меня интересует как вообще JS может обработать поступающие данные.
<input type="hidden" id="date" value="@ViewBag.Date">
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/chart.min.js"></script>
<canvas id="myChart"></canvas>
<script>
var ctx = document.getElementById('myChart');
var date = document.getElementById('date');;
var FirstCurrency = {
label: 'Evro',
data: [60, 70, 80, 80, 99],
backgroundColor: 'green',
borderColor: 'green',
};
var SecondCurrency = {
label: 'dollars',
data: [50, 40, 30, 65, 77],
backgroundColor: 'red',
}
var allCurrency = {
labels: [date],
datasets: [FirstCurrency, SecondCurrency]
}
var chart = new Chart(ctx, {
type: 'line',
data: allCurrency
})
</script>
Если можете, посоветуйте литературу (источник) где можно подчерпнуть такие пробелы.