我知道这个问题已经出现了无数次,但我能找到的帖子都没有能够帮助我解决这个问题。
每隔一段时间,我就会收到标题中的错误:Multiple controls with the same ID 'ctl35' were found. FindControl requires that controls have unique IDs.
这肯定不会一直发生,似乎只是刷新几次就会导致错误消失。
我的页面基本上有一个UpdatePanel
和,用户用于输入与订单部分相对应的数据。由于可以有多个部分,因此有一个按钮可以创建一个新的Panel
,创建输入字段并将其添加到 中Panel
,然后将其添加到UpdatePanel
. 用户可以多次点击该按钮添加多个entry Panel
。为了做到这一点,我维护了一个,每次用户想要一个新的输入字段时List<Panel>
,我都会添加新的。Panel
当页面收到回发(来自添加按钮)时,然后我遍历 List 并将每个重新添加Panel
到UpdatePanel
,它设法保留现有的条目面板。
由于这些字段是动态更新的,因此我确保将要从中检索数据的字段的 ID 设置为唯一且可相互区分的字段。但是,如前所述,我偶尔会遇到有关使用 ASP.NET 自动生成的 ID(ctl35
在本例中)查找多个控件的问题。一旦我收到此错误,在 Chrome 中查看呈现的 HTML,根本没有控件具有ctl35
其 ID。此外,呈现的 HTML 甚至都不包含任何 ID 以自动生成的“ctlXX”结尾的元素。因此,我无法理解可能的命名冲突问题会出现在哪里。这个错误在大多数情况下都不会发生,这也是造成混乱的主要原因。
关于这个问题可能是什么的任何想法,或者我可能需要做什么才能解决这个问题?