I have a code that I need to import a variable from C# to JavaScript.
Within JavaScript, the variable is of the Json type.
When I manually create the variable inside JavaScript, my function and graphics work perfectly, but when I tried to get data from a C# variable, it doesn't work, my variable is empty.
This variable works when I create inside JavaScript:
var providerChart = [{ date: "2020-07-27", value: 13 }, { date: "2020-07-28", value: 11 }, { date: "2020-07-29", value: 15 }, { date: "2020-07-30", value: 16 }, { date: "2020-07-31", value: 18 }, { date: "2020-08-01", value: 13 }, { date: "2020-08-02", value: 22 }, { date: "2020-08-03", value: 23 }, { date: "2020-08-04", value: 20 }, { date: "2020-08-05", value: 17 }, { date: "2020-08-06", value: 16 }];
When I try import from C#, it doesn't work
var providerChart = JSON.parse('<%=dash.DadosChart%>');
I used an alert();
to manage if the data arrived.
This is my controller, responsible to send my information to HTML and I have tried to use to send to JS too.
public IActionResult Index()
{
ConsumeAPI consume = new ConsumeAPI();
consume.ReceiveCookie();
Dashboard dash = new Dashboard();
//dash.DadosChart = new List<string[,]>();
dash.QtdeAplicacoes = consume.ProjetosCadastrados("projects");
dash.UltimaDataAplicacao = consume.ConvertDate(consume.UltimoProjeto("projects"));
dash.QtdeProjetoAtivo = consume.ProjetosAtivos("projects", diasAtivo);
dash.Atual = consume.ConvertDate(consume.UltimoUpdate);
dash.QtdeUsuarioCadastrado = consume.UsuariosRegistrados("authEntities");
dash.UltimaDataUsuario = consume.ConvertDate(DateTime.Today);
dash.PercentualProjetoCritico = (float)MathF.Round(consume.PercProjetoCritico("projectVersions"), 2);
dash.BarraPercentualProjetoCritico = (float)MathF.Round(dash.PercentualProjetoCritico, 0);
dash.PercentualProjetoRemediacao = (float)MathF.Round(consume.PercProjetoRemedicao(), 2);
dash.BarraPercentualProjetoRemediacao = (float)MathF.Round(dash.PercentualProjetoRemediacao, 0);
dash.PercentualVulnerabilidadeRemediada = (float)MathF.Round(consume.PercVulnRemediada(), 2);
dash.BarraPercentualVulnerabilidadeRemediada = (float)MathF.Round(dash.PercentualVulnerabilidadeRemediada, 0);
dash.PercentualProjetoPausado = (float)MathF.Round(consume.PercProjetoPausado(), 2);
dash.BarraPercentualProjetoPausado = (float)MathF.Round(dash.PercentualProjetoPausado, 0);
dash.DadosChart = "[";
for(int i = 0; i < consume.apps.Count; i++)
{
bool isFirst = true;
string myDate = consume.apps[i].Criado.Year.ToString() + "/" + consume.apps[i].Criado.Month.ToString() + "/" + consume.apps[i].Criado.Day.ToString();
int vulnTotal = (consume.vulnApps[i].TotalAlta + consume.vulnApps[i].TotalBaixa + consume.vulnApps[i].TotalCritica + consume.vulnApps[i].TotalMedia);
if(isFirst){
dash.DadosChart += "{date: " + myDate + ", value: " + vulnTotal + "}";
isFirst = false;
}else
{
dash.DadosChart += ",{date: " + myDate + ", value: " + vulnTotal + "}";
}
//int vulnTotal = (consume.vulnApps[i].TotalAlta + consume.vulnApps[i].TotalBaixa + consume.vulnApps[i].TotalCritica + consume.vulnApps[i].TotalMedia);
//string[,] dado = { { "date", "value" }, { consume.apps[i].Criado.ToString(), vulnTotal.ToString() } };
//dash.DadosChart.Add(dado);
}
dash.DadosChart += "]";
//dash.MyDataChart = JObject.Parse(dash.DadosChart);
return View(dash);
}
PS.: I have used ASP.Net Core 3.1