Я не могу реализовать Chart.JS в ASP.NET Webforms - Potiental Javascript проблема - PullRequest
0 голосов
/ 20 июня 2019

Я пытаюсь сгенерировать линейную диаграмму на основе информации, хранящейся в моей базе данных SQL Server, но я не могу понять, почему я не могу это сделать

Я тщательно изучил, почему это не работает. Я сузил проблему до вызова моего кода C # из моего JavaScript

C#

public List<object> getLineChartData(string mobileId_one, string 
mobileId_two, string year)
    {
        //Set up lists
        List<object> iData = new List<object>();
        List<string> labels = new List<string>();

        //Query to database
        string query1 = "Select TOP 10 * from AutoregulationScores WHERE 
UserID='"+ Session["UID"] +"' ORDER BY ScoreID DESC";


        //Call common function get data method
        DataTable dtLabels = commonFuntionGetData(query1);

        //Get session IDs for x axis labels
        foreach (DataRow drow in dtLabels.Rows)
        {
            labels.Add(drow["SessionID"].ToString());
        }
        //Add to object list
        iData.Add(labels);

        //Call common function get data method
        DataTable dtDataItemsSets_1 = commonFuntionGetData(query1);
        List<int> lst_dataItem_1 = new List<int>();
        foreach (DataRow dr in dtDataItemsSets_1.Rows)
        {
            //Add autoregulation scores to list


lst_dataItem_1.Add(Convert.ToInt32(dr["AutoregulationScore"].ToString())
);
        }
        //Add to object list
        iData.Add(lst_dataItem_1);

        return iData;
    }

    public DataTable commonFuntionGetData(string strQuery)
    {
        SqlConnection con = new SqlConnection(conString);
        SqlDataAdapter dap = new SqlDataAdapter(strQuery, con);
        DataSet ds = new DataSet();
        dap.Fill(ds);
        return ds.Tables[0];
    }

HTML + JavaScript

<div> <canvas id="myChart"> </canvas></div>

<script>

                var aData = reponse.d;
                var aLabels = aData[0];
                var aDatasets1 = aData[1];

                var data = {
                    labels: aLabels,
                    datasets: [{
                        label: "My First dataset",
                        fillColor: "rgba(220,220,220,0.2)",
                        strokeColor: "rgba(220,220,220,1)",
                        pointColor: "rgba(220,220,220,1)",
                        pointStrokeColor: "#fff",
                        pointHighlightFill: "#fff",
                        pointHighlightStroke: "rgba(220,220,220,1)",
                        data: aDatasets1

                    }]
                };

                var ctx = $("#myChart").get(0).getContext('2d');
                ctx.canvas.height = 300;  // setting height of canvas
                ctx.canvas.width = 500; // setting width of canvas
                var lineChart = new Chart(ctx).Line(data, {
                                bezierCurve: false});

                function OnErrorCall_(repo) {
                alert("Woops something went wrong, pls try later !");
    };

    </script>

То, что я должен видеть, - это простая, но интерактивная линейная диаграмма, но я не могу видеть, где я иду не так

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...