Asp nette grafik olusturmak ıstıyorum ama verileri bir türlü alamıyorum
using System;
using System.Web.Services;
using Newtonsoft.Json;
namespace DikkatBozukluguWeb.DikkatBozuklugu.Pages
{
public partial class OrtakSayfamiz : System.Web.UI.Page
{
VeritabaniIslemleri veritabaniIslemleri;
Sayfalar sayfalar;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
try
{
// Sayfa içeriğini doldur
if (sayfalar.Id > 0)
{
sayfalar.Doldur();
//lblIcerik.Text = sayfalar.Icerik;
}
else
{
sayfalar.Id = 1;
sayfalar.Doldur();
//lblIcerik.Text = sayfalar.Icerik;
}
}
catch (Exception ex)
{
// Hata mesajını göstermek için
ClientScript.RegisterStartupScript(this.GetType(), "Error", $"console.error('Hata: {ex.Message}');", true);
}
}
}
[WebMethod]
public static string GetChartData(string kullaniciAdi)
{
VeritabaniIslemleri veritabaniIslemleri = new VeritabaniIslemleri();
veritabaniIslemleri.Baslat(VeritabaniIslemleri.IslemTip.BAGIMSIZ);
int kullaniciId = veritabaniIslemleri.GetID(kullaniciAdi, "Kullanicilar", "kul_adi");
int toplamOyunlar = veritabaniIslemleri.GetSumID(kullaniciId, "Oyunlar", "kullanici_id");
int toplamKitaplar = veritabaniIslemleri.GetSumID(kullaniciId, "Kitaplar", "kullanici_id");
int toplamFitness = veritabaniIslemleri.GetSumID(kullaniciId, "Fitness", "kullanici_id");
// burda verileri sağlıklı şekilde alıyorum bir sorun yok
var result = new
{
Kitaplar = toplamKitaplar,
Oyunlar = toplamOyunlar,
Fitness = toplamFitness
};
return JsonConvert.SerializeObject(result);
// ama artık gönderirkenmi bilmiyorum veriler gitmiyor
}
}
}
<script type="text/javascript">
google.charts.load('current', { packages: ['corechart', 'bar'] });
google.charts.setOnLoadCallback(drawChart);
function drawChart() {
var kullaniciAdi = '<%= Session["KullaniciAdi"] %>'; // Kullanıcı adını ASP.NET'ten al
fetch('OrtakSayfamiz.aspx/GetChartData', {
method: 'POST',
headers: {
'Content-Type': 'application/json; charset=utf-8',
'Accept': 'application/json'
},
body: JSON.stringify({ kullaniciAdi: kullaniciAdi })
})
.then(response => response.json())
.then(data => {
var dataTable = new google.visualization.DataTable();
dataTable.addColumn('string', 'Kategori');
dataTable.addColumn('number', 'Toplam');
var rows = [
['Kitaplar', data.Kitaplar || 2],
['Oyunlar', data.Oyunlar || 0],
['Fitness', data.Fitness || 0]
];
dataTable.addRows(rows);
var options = {
title: 'Kullanıcı Verileri',
chartArea: { width: '50%' },
hAxis: {
title: 'Toplam',
minValue: 0
},
vAxis: {
title: 'Kategori'
},
legend: {
position: 'right',
textStyle: { color: 'black', fontSize: 14 }
},
colors: ['#FF5733', '#33FF57', '#3357FF'] // Renkler
};
var chart = new google.visualization.BarChart(document.getElementById('chart_div'));
chart.draw(dataTable, options);
})
.catch(error => console.error('Error fetching data:', error));
}
</script>