我正在创建大量的动态控件,并且对于必须分配ID的所有内容,我使用保证的唯一变量进行分配(除非64位仅从控件溢出)。

现在,我遇到了一个问题。我有一个重复的控件某处,我无法发现它的添加位置或任何东西,因为它直到Page_Load之后才会发生,这意味着,当抛出异常时它不在我自己的代码中(我认为像Render或其他一些内部功能)。

控件名称为“ctlXXX”。其中XXX是一个数字(现在,总是244),这个控件ID是而不是由我制作。它是由ASP.Net自动生成的(因为我的ID都没有以ctl为前缀)。那么如何更正我看不到的错误呢?任何人都可以建议找到我的错误的方法(我真的希望这不是ASP.Net中的错误)?

另外,我最近通过使用Copy函数得到了错误,该函数将在自定义控件上执行Memberwise复制,然后它将重置任何控件以具有唯一ID或为null,因为此部分在控件之前发生加载到自定义控件中,这是Panel的后代

有人可以就如何找到这个bug给我建议吗?

有帮助吗?

解决方案

我想你想看一下 INamingContainer 界面。我认为这将解决您的问题,但您必须派生一个新的控件类来完成它。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top