自己写了个继承自GridView的类:
public class MyGridView2 : GridView
{
private List<BindToGroup> _MyCol;
[PersistenceMode(PersistenceMode.InnerProperty),Browsable(false)]
public List<BindToGroup> NewHead
{
get { return _MyCol; }
set { _MyCol = value; }
}
protected override void Render(HtmlTextWriter writer)
{
base.Render(writer);
}
}
<kk:MyGridView2 runat="server">
<NewHead><kk:BindToGroup GroupName="kkk" Span="1" /><kk:BindToGroup GroupName="bbb" Span="1" /></NewHead>
</kk:MyGridView2>
我在Set NewHead时下了断点,在Render前NewHead被Set,这很正常。再在Render时下了断点,当程序第一次跑到Render时,发现属性NewHead变成NULL了!当数据绑定完成后,再次跑到Render时,NewHead就有值了!在这段时间里,NewHead的值跑去哪里了呢??
从Set NewHead到第一次Render,程序不是一直都还在类MyGridView2里吗?属性值怎么会消失呢??
看页面及控件的事件顺序及生命周期