Asp.net mvc 在MVC3视图中显示动态图表
在这种情况下,我需要在MVC3视图中显示图表。 到目前为止,我已经做了以下工作 在我的控制器中Asp.net mvc 在MVC3视图中显示动态图表,asp.net-mvc,asp.net-mvc-3,jquery,charts,Asp.net Mvc,Asp.net Mvc 3,Jquery,Charts,在这种情况下,我需要在MVC3视图中显示图表。 到目前为止,我已经做了以下工作 在我的控制器中 public ActionResult MyChart() { var bytes = new Chart(width: 400, height: 200) .AddSeries( chartType: "bar", xValue: new[] {"M
public ActionResult MyChart()
{
var bytes = new Chart(width: 400, height: 200)
.AddSeries(
chartType: "bar",
xValue: new[] {"Math", "English", "Computer", "Urdu"},
yValues: new[] {"60", "70", "68", "88"})
.GetBytes("png");
return File(bytes, "image/png");
}
在我的Jquery文件中
function getChart() {
$.ajax({
url: ('/Home/MyChart'),
type: 'GET',
cache: false,
success: function (result) {
alert(result.length);
$('#BottomGrid').html(result);
},
error: function () { alert("error"); }
});
}
在我看来,我只是调用getChart()方法。
我的视图是一个.aspx视图,底部网格是视图上的一个div,我需要在其中显示图表
在IE中运行上述代码会给我一个png符号,在firefox中会显示特殊字符
知道我哪里出错了吗?编辑“getChart()”函数:
success: function (result) {
alert(result.length);
$('#BottomGrid').append('<img id="myChart" />');
$('#myChart').attr("src", "/Home/MyChart")
}
成功:函数(结果){
警报(结果长度);
$('#BottomGrid')。追加('
但我不认为这是一个理想的解决方案,因为它会请求两次图像,第一次是在执行ajax时(它需要一种将返回的文本呈现为图像的方法),第二次是在浏览器解析“img”标记时。编辑“getChart()”函数:
success: function (result) {
alert(result.length);
$('#BottomGrid').append('<img id="myChart" />');
$('#myChart').attr("src", "/Home/MyChart")
}
成功:函数(结果){
警报(结果长度);
$('#BottomGrid')。追加('
但我不认为这是一个理想的解决方案,因为它会请求两次图像,第一次是在执行ajax时(它需要一种将返回的文本呈现为图像的方法),第二次是在浏览器解析“img”标记时。实际上,您可以只编写这两个语句:$('#BottomGrid').append('');$('#myChart').attr(“src”,“/Home/MyChart”);而不是执行ajax调用。:)实际上,您可以只编写以下两个语句:$('BottomGrid').append(''';$('MyChart').attr(“src”,“/Home/MyChart”);而不是执行ajax调用。:)