首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

复合控件在GridView中做为模板列出现时,其子控件的ID值不唯一,百思不得其解,求解,该如何处理

2012-01-29 
复合控件在GridView中做为模板列出现时,其子控件的ID值不唯一,百思不得其解,求解我的复合控件继承Composit

复合控件在GridView中做为模板列出现时,其子控件的ID值不唯一,百思不得其解,求解
我的复合控件继承   CompositeControl,   INamingContainer。
我把这个控件做为模板列放在GridView中
在我的测试页面中,当GridView有多行时,模板列中的复合控件的子控件的ID是唯一的,是UniqueID。
最郁闷的是,在业务系统中,当GridView有多行时,模板列中的符合控件的子控件的ID是不唯一的,都是一个名字,真是郁闷啊,有谁知道是怎么回事??


[解决办法]
看看服务器与本地的.net framework版本是否一至?
[解决办法]
“模板列中的复合控件的子控件的ID是唯一的,是UniqueID”

看不懂你这话是什么意思。ID是你复合控件中设计的,怎么可能跑到模板列上去看到?在运行时,ID肯定都是一样的,但是它们在你复合控件内部,而你复合控件实现了INamingContainer,那么相同ID的子控件它的客户端html上的ID自然不同。而ClientID代表客户端id,UniqueID代表客户端name,这些都与服务器端的ID天生就不等,你说的上面那句话我看起来就是不可能发生的,除非你采取了什么非常手段将本来正确输出html中的ClientID给改错了。

“模板列中的符合控件的子控件的ID是不唯一的,都是一个名字”这我就更看不懂了,逻辑不通的呀!

热点排行