gpt4 book ai didi

c# - 在模型的局部 View 中显示 System.Web.Helpers.Chart

转载 作者:太空狗 更新时间:2023-10-30 00:11:47 26 4
gpt4 key购买 nike

所以我尝试了 System.Web.Helpers 命名空间中的图表助手。

根据 http://www.asp.net/web-pages/tutorials/data/7-displaying-data-in-a-chart

我在 .cshtml View 中制作图表,但我想将其保留在 ViewModel 中。

没问题,除非我试图在网站中将其呈现为较小的图像。

我认为最干净的解决方案是创建一个共享的局部 View 来渲染模型中的图形

_graph.cshtml

@model System.Web.Helpers.Chart

@Model.Write()

然后以某种方式在适当的网站上呈现此部分 View 。我尝试了几个版本,但似乎无法正常工作。

网站.cshtml

<div>
<h2>Some header above a graph</h2>
<img src="@Html.Partial("_graph", Model.TheChart)" />
</div>

这行不通,我不确定该怎么做。我现在唯一能想到的就是让所有带有图表的模型继承一个暴露图表的接口(interface),并让它成为 _graph.cshtml 的模型。

<img src="_graph.cshtml" />

但不确定这是否使用模型。

有什么意见吗?

最佳答案

<div>
<h2>Some header above a graph</h2>
<img src="@Url.Action("DrawChart")" />
</div>

然后你可以有一个 Controller Action :

public ActionResult DrawChart()
{
MyViewModel model = ...
return View(model);
}

以及将绘制图表的相应 View (DrawChart.cshtml):

@model MyViewModel

@{
// TODO: use the data from the model to draw a chart

var myChart = 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();
}

和渲染结果:


enter image description here

关于c# - 在模型的局部 View 中显示 System.Web.Helpers.Chart,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9685302/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com