Pergunta

Estou criando enormes quantidades de controles dinâmicos, e por tudo o que deve ter um ID atribuído, eu atribuí-lo usando uma variável única garantida (a menos que 64bits transborda a partir de apenas controles).

Agora, eu tenho um problema embora. Eu tenho um controle duplicado em algum lugar e eu não consigo descobrir onde é adicionado ou nada, porque isso não acontecer até depois Page_Load, ou seja, ele está fora do meu próprio código quando uma exceção é lançada ( Eu acho que como renderização ou alguma outra função interna).

O nome do controle é "ctlXXX", onde XXX é um número (agora, sempre 244), este ID de controle é não que está sendo feito por mim. Ele está a ser feito por ASP.Net automaticamente (como nenhuma das minhas identificações são prefixados com CTL). Então, como posso corrigir este erro que eu não posso ver? Alguém pode sugerir maneiras de encontrar o meu erro (Eu realmente espero que este não é um bug em ASP.Net)?

Além disso, eu tenho o erro apenas recentemente usando uma função de cópia, que vai fazer copiar um memberwise em um controle personalizado, e em seguida, ele irá repor quaisquer controles de ter ou uma identificação única ou para ser nulo como esta parte acontece antes de controles são carregados para o controle personalizado, que é descendente de Panel)

Alguém pode me dar conselhos sobre como encontrar esse bug?

Foi útil?

Solução

Eu acho que você quer olhar para o INamingContainer Interface . Eu acho que vai resolver o seu problema, mas você terá que derivar uma nova classe de controle para fazê-lo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top