2008-08-13 15 views
5

Mam niestandardowy formant, który implementuje IPostBackEventHandler. Niektóre zdarzenia po stronie klienta wywołują __doPostBack (controlID, eventArgs).RaisePostBackEvent nie odpala

Sterowanie realizowane jest w dwóch różnych kontrolkach użytkownika. W jednym kontrole, RaisePostBackEvent jest uruchamiany po stronie serwera po wywołaniu __doPostBack. W drugiej kontrolce RaisePostBackEvent nigdy nie jest wywoływana. Sprawdziłem parametr __EVENTTARGET i pasuje on do identyfikatora ClientID kontrolki ... gdzie indziej mógłbym szukać rozwiązania tego problemu?

Odpowiedz

1

Istnieje wiele sposobów na rozpad. Czy dynamicznie dodajesz kontrolkę do strony w kodzie? Jeśli tak wiele razy twój unikatowy identyfikator może być wyłączony - mimo że identyfikator klienta jest taki sam. Czy masz przykład kodu, który może pokazać, co robisz?

+0

(Przeniesiony do komentowania) - Dobrze czuję się trochę głupio ... to było prosty problem - myślałem, że UniqueID kontrolki pasuje do __EVENTARGS, ale z powodu pewnej głupoty JavaScript z mojej strony, miał jeden $, w którym powinien być podkreślenie. Był to wyjątkowo długi unikalny identyfikator UniqueID, który można łatwo przeoczyć. –

0

Sprawdź dokładnie, czy rzeczywiście jest to wyprowadzenie klasy UserControl, a nie WebControl.
Ten wielokrotnie mnie zaskakiwał. Jeśli musisz używać WebControl do stylizacji, musisz pozwolić swojemu narzędziu sterującemu INamingContainer. (Nie martw się, jego interfejs znacznik)

Tak ..

public class MyControl : UserControl {} 

Albo

public class MyControl : WebControl, INamingContainer {} 
Powiązane problemy