Pregunta

Estoy creando enormes cantidades de controles dinámicos, y para todo lo que debe tener un ID asignado, lo asigno usando una variable única garantizada (a menos que 64bits se desborden solo de los controles).

Sin embargo, tengo un problema. Tengo un control duplicado en alguna parte y no puedo descubrir dónde se agregó o nada porque no sucede hasta después de Page_Load, lo que significa que está fuera de mi propio código cuando se produce una excepción ( Pienso en como Render o alguna otra función interna).

El nombre del control es " ctlXXX " donde XXX es un número (en este momento, siempre 244) este ID de control no lo estoy haciendo yo. ASP.Net lo está realizando de forma automática (ya que ninguna de mis ID tiene el prefijo ctl). Entonces, ¿cómo puedo corregir este error que no puedo ver? ¿Alguien puede sugerir formas de encontrar mi error (realmente espero que esto no sea un error en ASP.Net)?

También recibí el error recientemente usando una función de Copia que hará una copia de Memberwise en un control personalizado, y luego restablecerá cualquier control para que tenga una ID única o sea nulo, ya que esta parte sucede antes que los controles se cargan en el control personalizado, que es un descendiente del Panel)

¿Alguien me puede dar consejos sobre cómo encontrar este error?

¿Fue útil?

Solución

Creo que quiere ver INamingContainer interfaz. Creo que resolverá su problema, pero tendrá que derivar una nueva clase de control para hacerlo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top