Domanda

Sto creando enormi quantità di controlli dinamici, e per tutto ciò che deve avere un ID assegnato, lo assegno usando una variabile univoca garantita (a meno che 64 bit trabocca dai soli controlli).

Ora, però, ho un problema. Ho un controllo duplicato da qualche parte e non riesco a scoprire dove viene aggiunto o altro perché non accade fino a dopo Page_Load, il che significa che è fuori dal mio codice quando viene generata un'eccezione ( Penso a come Render o qualche altra funzione interna).

Il nome del controllo è " ctlXXX " dove XXX è un numero (in questo momento, sempre 244) questo ID di controllo è non creato da me. Viene creato automaticamente da ASP.Net (poiché nessuno dei miei ID ha il prefisso ctl). Quindi, come posso correggere questo errore che non riesco a vedere? Qualcuno può suggerire modi per trovare il mio errore (spero davvero che questo non sia un bug in ASP.Net)?

Inoltre, ho riscontrato l'errore di recente utilizzando una funzione Copia che eseguirà una copia Memberwise su un controllo personalizzato, quindi ripristinerà tutti i controlli per avere un ID univoco o essere nulli poiché questa parte accade prima dei controlli vengono caricati nel controllo personalizzato, che è un discendente del Pannello)

Qualcuno può darmi consigli su come trovare questo bug?

È stato utile?

Soluzione

Penso che tu voglia guardare INamingContainer interfaccia. Penso che risolverà il tuo problema, ma per farlo dovrai derivare una nuova classe di controllo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top