Ich versuche, Daten über Rasierer zu Graphen zu binden. Ich ziehe Daten durch einen jQuery-Ajax-Aufruf und plane, die resultierenden Daten an ein Diagramm zu binden. Gibt es eine Option, den Rasierklingen-Code in die jquery-Erfolgsfunktion aufzunehmen? Wie kann ich Zählwerte im Diagrammcode an x, yValues binden?Asp.Net MVC Rasiermesser Graph mit jquery Ajax Anruf
https://www.asp.net/web-pages/overview/data/7-displaying-data-in-a-chart
@{
var CountsPath = Server.MapPath("~/Content/Images/counts.jpg");
if (File.Exists(CountsPath))
{
File.Delete(CountsPath);
}
var PathName = "~/Content/Images/counts.jpg";
if (!File.Exists(Server.MapPath(PathName)))
{
var chartImage = new Chart(600, 400);
chartImage.AddTitle("Count");
chartImage.AddSeries(
chartType: "Pie",
name: "Sales",
axisLabel: "Count",
xValue: new[] { "2011", "2014" },//need from json
yValues: new[] { "40", "285" });//need from json
chartImage.Save(path: PathName);
}
}
JQuery Skript
<script>
$(document).ready(function() {
$.ajax({
type: 'get',
url: '/Home/GetSales',
success: function (data) {
//Bind sales data counts by year result to graph
},
error: function (response) {
alert(response.Message);
},
dataType: 'json'
});
});
</script>
Ergebnis Json:
{"Sales":[
{"Year":"2011", "loc":"ca"},
{"Year":"2014", "loc":"wa"},
{"Year":"2011", "loc":"wi"}
]}
Edit: Oder kann ich jquery Ergebnis GroupD von innen Razor Code verwenden?
Ist das erste Codeblock in der gleichen Ansicht wie Ihr Skript (das das Diagramm erzeugt) ? Und die kurze Antwort ist nein - Rasierercode wird auf dem Server generiert, bevor Sie ihn an den Client übergeben. Verwenden Sie nur eine Teilansicht für das Diagramm und geben Sie sie im Ajax-Aufruf zurück und aktualisieren Sie das DOM –