再论Unique ID

其实这个问题已经研究过一次:

http://yww325.blog.163.com/blog/static/2946319200811394754466/

但前几天在代码里重新看到这个用例

 t.Text = (string)System.Web.HttpContext.Current.Request[t.UniqueID]; //losing data after post back

又想不起来这代码是干什么用的了,注释起来看看好像也没问题–结果导致了一个bug。

所以,再总结一下,无论是myText.Text = (String)ViewState[myText.UniqueID];还是上面的格式,都是利用UniqueID来恢复显示/使之有效 postback时候的数据。这样数据处理的时候才不会丢。对静态的控件不用显式地如此赋值,

但对于动态的控件,Controls.Add之后的这一步就不可少。

 

发表回复