【问题标题】:MVC 3 Displaying a dynamic image created in a controllerMVC 3 显示在控制器中创建的动态图像
【发布时间】:2011-09-21 16:41:41
【问题描述】:

我正在尝试在我的控制器中生成图像/图表,并将该图像显示在视图中的图像标记中。在我看来,我有

<div id="graphcontainer"><a href="#">Close Graph</a><img id="chartImage" alt="" /></div>

在我的控制器(称为 EventReport)中,我有一个名为“BuildChart”的方法。我的想法是捕获指定为构建报告按钮的按钮的单击事件。在单击事件处理程序中,我想将图像的源分配给“/EventReport/BuildChart”之类的东西,以填充图像控件。

这是控制器中的内容

public ActionResult BuildChart()
{
    var chart = new Chart
                    {
                        Height = Unit.Pixel(400),
                        Width = Unit.Pixel(600),
                        AntiAliasing = AntiAliasingStyles.Graphics,
                        BackColor = Color.White
                    };

    // Populate chart here ... 

    var ms = new MemoryStream();
    chart.SaveImage(ms);
    return File(ms.ToArray(), "image/png");
}

我只是在接线时遇到问题。我在正确的轨道上吗?

谢谢!

【问题讨论】:

    标签: asp.net-mvc-3 mschart


    【解决方案1】:

    将图片的src 设置为点击按钮时的操作链接,例如:

    使用 jquery:

    $('#build-chart').click(function() {
       $('#chartImage').attr('src', '/EventReport/BuildChart');
    });
    

    并且将要求操作以获取图像内容。可能需要一些“加载”指示器。

    【讨论】:

    • 感谢您的回复。是否有需要执行的“刷新”或“加载”方法?
    • 我不知道这样的形象。可能您需要使用浏览器 cahsing,或尝试将一些随机(或非随机,例如报告类型)附加到您的 url
    • 要刷新图表,您需要设置另一个指向src的链接
    猜你喜欢
    • 2017-04-08
    • 1970-01-01
    • 1970-01-01
    • 2011-07-25
    • 1970-01-01
    • 2013-12-17
    • 1970-01-01
    • 1970-01-01
    • 2016-07-10
    相关资源
    最近更新 更多