如何将字节数组作为参数发送到HTML.Action



我今天一直在处理图表。我想我终于找到了一种方法,但我遇到了一个我不知道如何通过的问题。

在我的控制器中创建我的图表:

    foreach (var m in model[0].HistoryValues)
    {
        var chart = new Chart(width: 300, height: 200)
        .AddSeries(
        chartType: "bar",
        xValue: new[] { "Server", "Db", "Tickets" },
        yValues: new[] { m.ServerPerformance, m.Databaseperformance, m.SoldTicketsLastUpdate })
        .GetBytes("png");
        m.Bytes = chart;
        //m.ChartFile = File(chart, "image/bytes");
    };

现在我想把它们显示为视图中的图像:

   @foreach (var m in Model[0].HistoryValues)
    {
        <img src="@Html.Action("getImage", "OverWatch", new { byte[] Mybytes= m.Bytes })" alt="Person Image" />
    }

但我得到了:

无效的匿名类型成员声明符。匿名类型成员必须可以用成员赋值、简单名称或成员访问来声明。

getImage方法:

public FileContentResult getImage(byte[] bytes)
{
   return new FileContentResult(bytes, "image/jpeg");
}

我该如何解决此问题?

在匿名类型中,您不定义变量类型byte[]。它根据m字节的类型自行计算

@foreach (var m in Model[0].HistoryValues)
{
    <img src="@Html.Action("getImage", "OverWatch", new { Mybytes= m.Bytes })" alt="Person Image" />
}

最新更新