RaisePostBackEvent non sparare
Domanda
Ho un controllo personalizzato che implementa IPostBackEventHandler.Alcuni eventi lato client richiamare __doPostBack(controlID, eventArgs).
Il controllo è attuato in due diversi controlli utente.In un controllo, RaisePostBackEvent è sparato sul lato server quando __doPostBack
viene richiamato.Nel controllo, gli altri RaisePostBackEvent non viene mai richiamato.Ho controllato il __EVENTTARGET
parametro non corrisponde ClientID del controllo...dove altro potrei guardare per risolvere questo?
Soluzione
C'è un sacco di modi in cui questa può cadere a pezzi.Sei l'aggiunta di controllo per la pagina dinamicamente in codice dietro?Se è così un sacco di volte che il tuo id univoco può essere anche se il client id sono uguali.Avete un esempio di codice che potrebbe dimostrare quello che stai facendo?
Altri suggerimenti
Doppio controllo che si tratta di una derivazione della classe UserControl, non il WebControl uno.
Questo solo mi sorprende molte volte.Se è necessario utilizzare WebControl per lo styling, è necessario lasciare che il vostro controllo implementare INamingContainer.(Non preoccupatevi, è un marker interface)
Così..
public class MyControl : UserControl {}
O
public class MyControl : WebControl, INamingContainer {}