Answer Re: ASP.NET 难题测试 (1)# DotNet - 窗口里的风景
p*p
1 楼
你说得没错。
具体地说,是DropDownList 的 TrackViewState() 在第一个"before" item假如前还没有
被执行。
Page_Init
TrackViewState() called, 但这时候这个DropDownList还不存在。
Page_Load
ddlDynamic = new DropDownList()
ddlDynamic.Items.Add("before") - ddlDynamic的TrackViewState() not
called, 所以这时候加入的item没有被保存在ViewState里,postback后就丢失了
form1.Controls.Add(ddlDynamic); - 当一个Control加入到一个control hierachy
tree时,它的父节点会对他初始化,让这个Control及其子节点到达父节点的状态。因为
这时Page已经inited, 所以,Control_Init会执行,Control_TrackViewState() called.
ddlDyna
具体地说,是DropDownList 的 TrackViewState() 在第一个"before" item假如前还没有
被执行。
Page_Init
TrackViewState() called, 但这时候这个DropDownList还不存在。
Page_Load
ddlDynamic = new DropDownList()
ddlDynamic.Items.Add("before") - ddlDynamic的TrackViewState() not
called, 所以这时候加入的item没有被保存在ViewState里,postback后就丢失了
form1.Controls.Add(ddlDynamic); - 当一个Control加入到一个control hierachy
tree时,它的父节点会对他初始化,让这个Control及其子节点到达父节点的状态。因为
这时Page已经inited, 所以,Control_Init会执行,Control_TrackViewState() called.
ddlDyna