相信做web程序的朋友们经常会用到Repeater,也会为Repeater这种轻量级,但是可以方便自由定制的控件情有独钟。

我也自认为对Repeater有一些了解。但是最近在给公司OA新加一个功能的时候,却遇到了问题,折腾了我半天。

代码就不贴了,写个大概吧,相信大家也都会明白。

首先贴两段代码,大家看看有何不同:

第一种写法

第二种写法

 

其实这两种写法效果是一样的,在页面上看不出什么区别。而且之前偶一直用第二种写法,使用中也没见到什么问题。

这次写的时候,偶然改为了第一种写法,当我在CodeBehind里遍历Repeater去找这些TextBox的Text值的时候却

怎么也找不到值,控件是找到了,但是值却一直找不到,我一直纳闷,难道是找到的控件没有在server端保存ViewState?

Google了一阵之后,网上写的方法也大同小异啊。

猛然间想起,难道是Text属性没有设置的问题?于是改为第二种写法,一切OK。

问题就出在这里。我的理解就是绑定发生的时候,并没有把值传给Text属性,但是对于编译器而言,这两种写法解析出来

的HTML虽然不同,但是效果一样。也许MS对Repeater可以修改下会更好用,当然也不一定。

posted on 2008-08-12 10:25  沉默的心  阅读(352)  评论(0编辑  收藏  举报