Asp.net mvc 在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

在这种情况下,我需要在MVC3视图中显示图表。 到目前为止,我已经做了以下工作 在我的控制器中

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调用。:)