如果不给Webcontrol设定ID的话,asp.net是会自动给Webcontrol分配一个ID的。ID分配是根据该webcontrol所在NamingContainer里面的控件的放置顺序。 这个一般来说是没有问题,不过我却有遇到这样一个问题。比如,在页面第一次加载的时候, 一个控件(ctl01)里面有1个Image和2个Textbox web控件。它们的ID分别是ctl01_ctl01, ctl01_ctl02和ctl01_ctl03. 在postback后,Image不加入父控件去, 这样父控件里面就只有2个Textbox了,它们的ID分别是ctl01_ctl01 和ctl01_ctl02。 这时, 如果要获取这2个textbox控件的值的时候,就会出现错误,第一个textbox的值会是空的,而第二个textbox的值会是postback前第一个textbox的内容。

因此,为了避免出现这样的错误,最好给每个webcontrol都设置一个ID。

posted on 2009-06-18 17:55  popman  阅读(280)  评论(0编辑  收藏  举报