在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
在FormView控件的不同模版里,通过编辑模版,使用了多个控件。利用FormView的FindControl查找控件引用的时候,有时候出现找不到控件的情况。 原因:主要根FormView控件的运行机制有关。FormView的DefaultMode和CurrentMode属性决定其当前运行的模版是哪个,同时相应调用相关的sql语句和后台数据进行交互绑定。 如果状态为ReadOnly或Edit,而此时的查询语句没有检索到任何数据(对应查询结果的行),那么FormView没有任何东西可以显示,故里面的所有控件可以认为没有进行初始化。这时,用FindControl当然就找不到任何对应的控件的引用。 <我出错的原因就是select语句中的参数初始时没有赋值导致没有检索到任何数据> 有趣的一点是,如果当前为insert模式时,因为其不必调用对应的insert方法先期绑定数据,所以可以认为FormView始终初始化所有控件,这时的FindControl就不会出任何问题。 顺便提一点,FormView的不同模版里,控件可以使用同一个id。例如,在不同模版里都有一个id一样的TextBox,这是可以的。因为最终只会有一份模版进行实例化并显示。 第二点有误,经过测试,ViewState在不同模式间切换后没有保留。应该是FormView在模式切换中有一个删除ViewState的过程。当然从效率角度上来讲也确实应该这样。 |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论