再论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之后的这一步就不可少。

 

第三方控件就是不行啊

http://community.devexpress.com/forums/t/56484.aspx?PageIndex=1

为了加上grouping 和filtering的功能,就丧失了分页的能力(对普通的ObjectDataSource)。这怎么行呢?

而如果禁用grouping和filtering,就只剩下拖拉column的功能了,那些都是花哨的东西。难道真是鱼和熊掌的关系?

这是在强迫你也用他们的XPO啊。

 

 

 

they leave it dead in the rack

http://blog.topix.com/archives/000016.html

 

Google has 100,000 servers. [nytimes] If a server/disk dies, they leave it dead in the rack, to be reclaimed/replaced later. Hardware failures need to be instantly routed around by software.

 

文中提到,google用大量的比较“差”到机器而不是用少量的“好”机器。这样做降低了成本。于是在成本相同的情况下他们获得了更高的计算能力–用来实现更好质量的搜索,这需要很高的计算能力。 聪明的google工程师们用软件和程序的方法来进行分布式的计算,即使没有稳定可靠的服务器,也能提供稳定到计算结果–而且更便宜。分布式系统将是未来计算技术发展的方向啊。