让我们说我有一个帮手:
@helper RenderChart()
{
<div id="chart-content")" style="margin-top:15px;">
@*Draw Graph Here*@
@{
var key = new Chart(width: 60, height: 40)
.AddSeries(
chartType: "pie",
legend: "Rainfall",
xValue: new[] { "Jan", "Feb", "Mar", "Apr", "May" },
yValues: new[] { "20", "20", "40", "10", "10" })
.Write();}
</div>
}
我在其中一个部分中称这个帮助者为
@Helpers.RenderChart()
然后我只是得到了响应中的图像而没有别的,只有一个图像而没有其他内容。
可能有人知道如何解决它?
看起来像方法.Write()在响应中写入图像,但我需要只生成图像。
答案 0 :(得分:1)
您应该使用单独的操作方法渲染图表,并在某个图像源中使用Url.Action调用此方法。
HomeController.cs
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult Chart()
{
return View();
}
}
Chart.cshtml
@{
var basicChart = new Chart(width: 600, height: 400)
.AddTitle("Chart Title")
.AddSeries(
name: "Employee",
xValue: new[] { "Peter", "Andrew", "Julie", "Mary", "Dave" },
yValues: new[] { "2", "6", "4", "5", "3" })
.Write();
}
Index.cshtml
@{
ViewBag.Title = "Index";
}
<h2>
Index
</h2>
@RenderChart()
@helper RenderChart()
{
<div id="chart-content" style="margin-top: 15px">
<img src="@Url.Action("Chart")" alt="Chart is here"/>
</div>
}
答案 1 :(得分:0)
您可以选择look at the tutorials。