ASP.NET异常:找到多个具有相同ID"xxx"的控件。FindControl要求控件具有唯一的ID

出错场景是这样使用的:

1.FindControl遍历Page.Form.Controls,将其放到一个List里。

2.Page.Form.Controls.Clear(),清空所有控件

3.往Page.From.Controls.Add若干new控件

4.将List里的所有控件逐个Add到Page.Form.Controls

 

错误分析:步骤3中,添加新控件时,新的控件会默认使用ID为:ctl + 数字。当步骤4将控件加回From的时候,步骤3中的控件的ID可能与步骤4中的控件ID重复了。

解决方法:在动态添加、删除控件的场景里,所有指定ID的控件不要使用 ctl + 数字 的格式。

posted on 2015-04-03 15:24  ZhYong  阅读(943)  评论(0编辑  收藏  举报