Как обработать переданные данные из 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>

Если можете, посоветуйте литературу (источник) где можно подчерпнуть такие пробелы.


Ответы (0 шт):