0

控制器:

public FileResult CreateChart()
{
        Chart chart = new Chart
        {
            ImageType = ChartImageType.Jpeg,
            ImageStorageMode = ImageStorageMode.UseImageLocation,
            Width = new Unit(600),
            Height = new Unit(400)
        };
        chart.Series.Add("Years");
        chart.Series.Add("Months");
        chart.Legends.Add("Test");
        Series seriesDetail = new Series
        {
            Name = "Result Chart",
            IsValueShownAsLabel = false,
            Color = Color.FromArgb(198, 99, 99),
            ChartType = SeriesChartType.Bar,
            BorderWidth = 2
        };

        foreach (var result in CurrentMember.Section.Filters)
        {
            DataPoint point = new DataPoint
            {
                AxisLabel = result.Id.ToString(CultureInfo.InvariantCulture),
                YValues = new[] { double.Parse(result.Id.ToString(CultureInfo.InvariantCulture)) }
            };
            seriesDetail.Points.Add(point);
        }
        seriesDetail.ChartArea = "Result Chart";

        System.IO.MemoryStream ms = new System.IO.MemoryStream();
        chart.SaveImage(ms, ChartImageFormat.Png);
        return new FileContentResult(ms.GetBuffer(), @"image/png");

}

局部视图:

主视图:

@Ajax.ActionLink("Press me","CreateChart", "Reports",new AjaxOptions
    {
        HttpMethod = "GET",
        InsertionMode = InsertionMode.Replace,
        UpdateTargetId = "dataTable"
    })

<div style="overflow-x: auto; direction: rtl; overflow-x: auto;" id="dataTable">

</div>

阿贾克斯请求:

 $('div#dataTable').load('/reports/createchart/', 
   function(html) {
       $("#imgHistoryChart")[0].src = "/reports/createchart/";

   });

结果:

�PNG  IHDRX�r5�sRGB���gAMA���a pHYs���o�d�IDATx^��1à�7ݙ� *��,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�b�,��`� &X1�� @L�R���4��$ߡIEND�B`�

问题:如何解决它,我将能够看到图像而没有这个?

4

1 回答 1

0

为什么要使用 AJAX 链接?重点是什么?一个简单的锚就可以完成这项工作:

@Html.ActionLink("Press me", "CreateChart", "Reports", null, new { id = "showChart" })

然后在一个单独的 javascript 文件中订阅点击处理程序,并将您希望图表显示到控制器操作的元素的src属性指向您的控制器操作:<img>

$(function() {
    $('#showChart').click(function() {
        $('#imgHistoryChart').attr('src', this.href);
        return false;
    });
});

此外,您还没有展示这imgHistoryChart是什么,但它应该是一个<img>元素。

于 2013-06-18T06:33:02.633 回答