如何使用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)
答案 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.