在回发后,图表控件的值正在更改其设计时间值。 即使我在(!isPostBack)范围内写入页面加载操作,值也会重置。 所以我定义了一个“我的系列”静态ArrayList,并在运行时我将每个系列的图表添加到该ArrayList。在页面加载事件中,我使用Chart1.Series.Add(myseries [i] as Series)方法将ArrayList的每个元素添加到Chart中。但它失败了。 “对象引用未设置为对象的实例”发生错误。这是我的代码。我哪里错了?
public partial class _Default : System.Web.UI.Page
{
static ArrayList my_series = new ArrayList();
void Fill_Chart();
{
....
foreach (Series item in Chart1.Series)
{
my_series.Add(item);
}
}
protected void Page_Load(object sender, EvetnArgs e)
{
...
Chart1.Series.Clear();
for (int i=0;i < my_series.Count;i++)
{
Chart1.Series.Add(my_series[i] as Series)
}
}
我用debug检查了这个步骤。在使用F10传递线路后没有发生错误。但是,当我在页面加载事件中传递最后一个}符号时,会发生此错误。任何想法?
答案 0 :(得分:0)
为什么my_series是静态的?您可以这样使用:
public partial class _Default : System.Web.UI.Page
{
private ArrayList mySeries;
public ArrayList MySeries
{
get
{
if (mySeries == default(ArrayList))
mySeries = new ArrayList();
return mySeries;
}
}
void Fill_Chart()
{
foreach (Series item in Chart1.Series)
{
MySeries.Add(item);
}
}
protected void Page_Load(object sender, EvetnArgs e)
{
...
Chart1.Series.Clear();
Fill_Chart();
for (int i=0;i < MySeries.Count;i++)
{
Chart1.Series.Add(MySeries[i] as Series)
}
}
}