Razor 确保在调用PartialView时调用view controller方法以获取最新图表数据

Razor 确保在调用PartialView时调用view controller方法以获取最新图表数据,razor,model-view-controller,charts,asp.net-webpages,Razor,Model View Controller,Charts,Asp.net Webpages,我正在使用Web.Helpers中的图表为视图渲染图形。此视图的数据集可以按类型划分为子集,并且该视图允许用户选择类型 包含此图(_Chart.schtml)的razor视图简单如下: <p> <img src="/MyController/MyChart" /> </p> 控制器代码(简化) public void MyChart() { ChartSeries[]data=GetChartData(新字符串[]{curChartDataType})

我正在使用Web.Helpers中的图表为视图渲染图形。此视图的数据集可以按类型划分为子集,并且该视图允许用户选择类型

包含此图(_Chart.schtml)的razor视图简单如下:

<p>
<img src="/MyController/MyChart" />
</p>

控制器代码(简化)

public void MyChart()
{
ChartSeries[]data=GetChartData(新字符串[]{curChartDataType});
var图=
新图表(500200,ChartTheme.Green);

对于(int i=0;i确保JQuery没有缓存结果,在ajax方法上,放置以下内容:

$.ajax({
    cache: false
....
});

确保JQuery没有缓存结果,在ajax方法上,放置以下内容:

$.ajax({
    cache: false
....
});

好的,最后根据直觉,我做了以下改变:

public WebImage MyChart()
{
  // same as before
  ...

  return chart.ToWebImage();
}
猜猜看,MVC的视图引擎要识别出图表对象需要更新,需要做些什么。图表对象有一个Write()方法来写入它自己的内部结构(它以某种方式作为html的图像提供),还有towerbimage()以完全相同的方式显式写入html可以使用的结构。区别在于后者知道要更新。如图所示


我希望这对某人有所帮助。

好的,最后根据直觉,我做了以下更改:

public WebImage MyChart()
{
  // same as before
  ...

  return chart.ToWebImage();
}
猜猜看,MVC的视图引擎要识别出图表对象需要更新,需要做些什么。图表对象有一个Write()方法来写入它自己的内部结构(它以某种方式作为html的图像提供),还有towerbimage()以完全相同的方式显式写入html可以使用的结构。区别在于后者知道要更新。如图所示


我希望这对某人有所帮助。

谢谢提醒!但是缓存:false已经设置,不会影响结果。谢谢提醒!但是缓存:false已经设置,不会影响结果。