我有一个动作返回图像:
public void SensorData(int id, int width = 300, int height = 100)
{
using (var repo = new DataRepository())
{
var sensor = repo.GetSensor(id);
if (sensor == null) return;
var chart = new Chart(width, height);
chart.AddSeries(name: "Values",
chartType: "line",
xValue: sensor.DataValues.Select(s => s.Date).ToList(),
yValues: sensor.DataValues.Select(s => s.Value).ToList());
chart.Write();
}
}
当我从浏览器调用它时,此操作呈现正常(例如controller_name / SensorData / 6)。问题是,当我尝试使用Html.RenderAction查看它时,我在我的视图上得到以下编译异常:
'System.Web.WebPages.WebPageExecutingBase.Write(System.Web.WebPages.HelperResult)'的最佳重载方法匹配有一些无效的参数。
这是生成异常的代码:
@Html.RenderAction("SensorTypes", new { id = 6});
关于可能导致此问题的任何想法?
由于
答案 0 :(得分:5)
您有两种可能性:
@{Html.RenderAction("SensorTypes", new { id = 6 });}
或:
@Html.Action("SensorTypes", new { id = 6 })
使用WebForms视图引擎将其与等效文件进行对比:
<% Html.RenderAction("SensorTypes", new { id = 6 }); %>
<%= Html.Action("SensorTypes", new { id = 6 }) %>
答案 1 :(得分:4)
您无法直接在HTML中嵌入图像数据。 尝试使用图像标记并指向操作。
<img src='@Url.Action("SensorTypes", new { id = 6})' />