Проблема в отображении диаграмм в режиме razor view
Привет. Я реализации основного проекта asp.net . Я написал несколько запросов в Home controller, чтобы их выходные данные использовались для некоторых диаграмм в его соответствующем представлении. Когда я просто показываю диаграмму с ее связанным запросом, она работает нормально, и страница показывает диаграмму, но когда я хочу показать 4 диаграммы с помощью bootstrap с ее связанным запросом, она ничего не показывает. Я буду признателен, если кто-нибудь скажет мне, в чем проблема.
Что я уже пробовал:
@using System.Linq; @model CSDDashboard.TempClasses.ChartListObjects @{ var XLabels = Newtonsoft.Json.JsonConvert.SerializeObject(Model.TotalReqStatus.Select(i => i.DimensionOne).ToList()); var YValues = Newtonsoft.Json.JsonConvert.SerializeObject(Model.TotalReqStatus.Select(i => i.Quantity).ToList()); ViewData["Title"] = "Pie Chart"; } @{ var XLabels1 = Newtonsoft.Json.JsonConvert.SerializeObject(Model.GrantedTimeAvg.Select(i => i.DimensionOne).ToList()); var YValues1 = Newtonsoft.Json.JsonConvert.SerializeObject(Model.GrantedTimeAvg.Select(i => i.Quantity).ToList()); ViewData["Title"] = "Line Chart"; } @{ var XLabels2 = Newtonsoft.Json.JsonConvert.SerializeObject(Model.GrantedPercent.Select(i => i.DimensionOne).ToList()); var YValues2 = Newtonsoft.Json.JsonConvert.SerializeObject(Model.GrantedPercent.Select(i => i.Quantity).ToList()); ViewData["Title"] = "Line Chart"; } @{ var XLabels3 = Newtonsoft.Json.JsonConvert.SerializeObject(Model.GrantedApiToApplicantAvg.Select(i => i.DimensionOne).ToList()); var YValues3 = Newtonsoft.Json.JsonConvert.SerializeObject(Model.GrantedApiToApplicantAvg.Select(i => i.Quantity).ToList()); ViewData["Title"] = "Line Chart"; } <!DOCTYPE html> <html> <title>W3.CSS Template</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css"> <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Raleway"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> <style> html, body, h1, h2, h3, h4, h5 { font-family: "Raleway", sans-serif } </style> <head> <meta name="viewport" content="width=device-width" /> <title>Charts</title> <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.2/Chart.bundle.min.js"></script> <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script> </head> <body> <div class="container"> <div class="row"> <div class="col"> <!-- cell 1 --> <div class="w3-quarter"> <div class="w3-container w3-red w3-padding-16"> <div class="w3-left"></div> <div class="w3-right"> <h3>@ViewBag.TotalApplicationCount</h3> </div> <div class="w3-clear"></div> <h4>Applications Count </h4> </div> </div> </div> <div class="col"> <div class="w3-quarter"> <div class="w3-container w3-blue w3-padding-16"> <div class="w3-left"></div> <div class="w3-right"> <h3>@ViewBag.TotalApplicantCount</h3> </div> <div class="w3-clear"></div> <h4>Total Applicant Count</h4> </div> </div> <!-- cell 2 --> </div> <div class="col"> <div class="w3-quarter"> <div class="w3-container w3-teal w3-padding-16"> <div class="w3-left"></div> <div class="w3-right"> <h3>@ViewBag.grantedCount</h3> </div> <div class="w3-clear"></div> <h4>Granted Application</h4> </div> </div> <!-- cell 3 --> </div> <div class="col-5" >@*style="width:30%">*@ <!-- pie chart --> <script type="text/javascript"> $(function () { var chartName = "chart"; var ctx = document.getElementById(chartName).getContext('2d'); var data = { labels: @Html.Raw(XLabels), datasets: [{ label: "Drinks Chart", backgroundColor: [ 'rgba(255, 99, 132, 0.2)', 'rgba(54, 162, 235, 0.2)', 'rgba(255, 206, 86, 0.2)', 'rgba(75, 192, 192, 0.2)', 'rgba(153, 102, 255, 0.2)', 'rgba(255, 159, 64, 0.2)', 'rgba(255, 0, 0)', 'rgba(0, 255, 0)', 'rgba(0, 0, 255)', 'rgba(192, 192, 192)', 'rgba(255, 255, 0)', 'rgba(255, 0, 255)' ], borderColor: [ 'rgba(255,99,132,1)', 'rgba(54, 162, 235, 1)', 'rgba(255, 206, 86, 1)', 'rgba(75, 192, 192, 1)', 'rgba(153, 102, 255, 1)', 'rgba(255, 159, 64, 1)', 'rgba(255, 0, 0)', 'rgba(0, 255, 0)', 'rgba(0, 0, 255)', 'rgba(192, 192, 192)', 'rgba(255, 255, 0)', 'rgba(255, 0, 255)' ], borderWidth: 1, data: @Html.Raw(YValues) }] }; var options = { maintainAspectRatio: false, scales: { yAxes: [{ ticks: { min: 0, beginAtZero: true }, gridLines: { display: true, color: "rgba(255,99,164,0.2)" } }], xAxes: [{ ticks: { min: 0, beginAtZero: true }, gridLines: { display: false } }] } }; var myChart = new Chart(ctx, { options: options, data: data, type:'pie' }); }); </script> <!--cell 4 row 1--> </div> </div> <div class="row"> <div class="col"> <!-- line chart --> <script type="text/javascript"> $(function () { var chartName = "chart"; var ctx = document.getElementById(chartName).getContext('2d'); var data = { labels: @Html.Raw(XLabels1), datasets: [{ label: "Countries Chart", backgroundColor: [ 'rgba(255, 99, 132, 0.2)', 'rgba(54, 162, 235, 0.2)', 'rgba(255, 206, 86, 0.2)', 'rgba(75, 192, 192, 0.2)', 'rgba(153, 102, 255, 0.2)', 'rgba(255, 159, 64, 0.2)', 'rgba(255, 0, 0)', 'rgba(0, 255, 0)', 'rgba(0, 0, 255)', 'rgba(192, 192, 192)', 'rgba(255, 255, 0)', 'rgba(255, 0, 255)' ], borderColor: [ 'rgba(255,99,132,1)', 'rgba(54, 162, 235, 1)', 'rgba(255, 206, 86, 1)', 'rgba(75, 192, 192, 1)', 'rgba(153, 102, 255, 1)', 'rgba(255, 159, 64, 1)', 'rgba(255, 0, 0)', 'rgba(0, 255, 0)', 'rgba(0, 0, 255)', 'rgba(192, 192, 192)', 'rgba(255, 255, 0)', 'rgba(255, 0, 255)' ], borderWidth: 1, data: @Html.Raw(YValues1) }] }; var options = { maintainAspectRatio: false, scales: { yAxes: [{ ticks: { min: 0, beginAtZero: true }, gridLines: { display: true, color: "rgba(255,99,164,0.2)" } }], xAxes: [{ ticks: { min: 0, beginAtZero: true }, gridLines: { display: false } }] } }; var myChart = new Chart(ctx, { options: options, data: data, type:'line' }); }); </script> <!--cell 1 row 2--> </div> <div class="col"> <!-- line chart --> <script type="text/javascript"> $(function () { var chartName = "chart"; var ctx = document.getElementById(chartName).getContext('2d'); var data = { labels: @Html.Raw(XLabels2), datasets: [{ label: "Countries Chart", backgroundColor: [ 'rgba(255, 99, 132, 0.2)', 'rgba(54, 162, 235, 0.2)', 'rgba(255, 206, 86, 0.2)', 'rgba(75, 192, 192, 0.2)', 'rgba(153, 102, 255, 0.2)', 'rgba(255, 159, 64, 0.2)', 'rgba(255, 0, 0)', 'rgba(0, 255, 0)', 'rgba(0, 0, 255)', 'rgba(192, 192, 192)', 'rgba(255, 255, 0)', 'rgba(255, 0, 255)' ], borderColor: [ 'rgba(255,99,132,1)', 'rgba(54, 162, 235, 1)', 'rgba(255, 206, 86, 1)', 'rgba(75, 192, 192, 1)', 'rgba(153, 102, 255, 1)', 'rgba(255, 159, 64, 1)', 'rgba(255, 0, 0)', 'rgba(0, 255, 0)', 'rgba(0, 0, 255)', 'rgba(192, 192, 192)', 'rgba(255, 255, 0)', 'rgba(255, 0, 255)' ], borderWidth: 1, data: @Html.Raw(YValues2) }] }; var options = { maintainAspectRatio: false, scales: { yAxes: [{ ticks: { min: 0, beginAtZero: true }, gridLines: { display: true, color: "rgba(255,99,164,0.2)" } }], xAxes: [{ ticks: { min: 0, beginAtZero: true }, gridLines: { display: false } }] } }; var myChart = new Chart(ctx, { options: options, data: data, type:'line' }); }); </script> <!--cell2 row 2--> </div> <div class="col"> <!-- line chart --> <script type="text/javascript"> $(function () { var chartName = "chart"; var ctx = document.getElementById(chartName).getContext('2d'); var data = { labels: @Html.Raw(XLabels3), datasets: [{ label: "Countries Chart", backgroundColor: [ 'rgba(255, 99, 132, 0.2)', 'rgba(54, 162, 235, 0.2)', 'rgba(255, 206, 86, 0.2)', 'rgba(75, 192, 192, 0.2)', 'rgba(153, 102, 255, 0.2)', 'rgba(255, 159, 64, 0.2)', 'rgba(255, 0, 0)', 'rgba(0, 255, 0)', 'rgba(0, 0, 255)', 'rgba(192, 192, 192)', 'rgba(255, 255, 0)', 'rgba(255, 0, 255)' ], borderColor: [ 'rgba(255,99,132,1)', 'rgba(54, 162, 235, 1)', 'rgba(255, 206, 86, 1)', 'rgba(75, 192, 192, 1)', 'rgba(153, 102, 255, 1)', 'rgba(255, 159, 64, 1)', 'rgba(255, 0, 0)', 'rgba(0, 255, 0)', 'rgba(0, 0, 255)', 'rgba(192, 192, 192)', 'rgba(255, 255, 0)', 'rgba(255, 0, 255)' ], borderWidth: 1, data: @Html.Raw(YValues3) }] }; var options = { maintainAspectRatio: false, scales: { yAxes: [{ ticks: { min: 0, beginAtZero: true }, gridLines: { display: true, color: "rgba(255,99,164,0.2)" } }], xAxes: [{ ticks: { min: 0, beginAtZero: true }, gridLines: { display: false } }] } }; var myChart = new Chart(ctx, { options: options, data: data, type:'line' }); }); </script> <!--cell3 row3--> </div> </div> </div> </body> </html>