【发布时间】:2017-04-10 19:44:11
【问题描述】:
我正在尝试通过 razor 将数据绑定到图形。我通过 jquery ajax 调用提取数据并计划将结果数据绑定到图形。 是否有任何选项可以在 jquery 成功函数中包含剃须刀代码?如何将计数值绑定到图表代码中的 x,yValues?
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 脚本
<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>
结果 Json:
{"Sales":[
{"Year":"2011", "loc":"ca"},
{"Year":"2014", "loc":"wa"},
{"Year":"2011", "loc":"wi"}
]}
编辑:或者我可以使用按 Razor 代码内部分组的 jquery 结果吗?
【问题讨论】:
-
第一个代码块(生成图表)是否与您的脚本在同一视图中?简短的回答是否定的——剃须刀代码是在您将其传递给客户端之前在服务器上生成的。只需为图表使用部分视图,并在 ajax 调用中返回它并更新 DOM
标签: javascript jquery asp.net asp.net-mvc razor