如何使用ViewState或Application传递MS Chart Control

时间:2011-12-07 19:09:45

标签: asp.net web-applications

如何使用ViewState或Application传递MS Chart Control?我已经尝试过Application(“mainChart”),但是当我尝试在另一个页面中访问它时,该对象的属性被设置为空。

PageA.aspx(在Button.Click事件中)

 Application("PrintControl") = mainChart

PageB.aspx(Page_Load事件)

 Dim ChartControl As DataVisualization.Charting.Chart = _
            CType(Application("PrintControl"), DataVisualization.Charting.Chart)

1 个答案:

答案 0 :(得分:1)

执行ViewState["Something"]=mychart时,mychart需要序列化,我怀疑Chart控件是否可序列化;因此,您将无法将其放在ViewState上。但即使您可以将Chart控件放在ViewState上,也可以在当前使用的页面(PageA.aspx)上进行,而不是PageB.aspx。< / p>

PageB.aspx的唯一目的是提供适合打印的PageA.aspx版本;你应该使用CSS来实现这一目标。 media="print"属性可以帮助您。阅读一篇优秀的post regarding this here.