/ / Kontrola dynamiki utracona na poczcie zwrotnej - c #, asp.net, oddzwonienie, przemiennik, cykl życia strony

Kontrola dynamiki utracona na poczcie zwrotnej - c #, asp.net, oddzwonienie, przemiennik, cykl życia strony

Ten stary kasztan znowu.

Moja strona jest zbudowana w następujący sposób; Mam dropdownlist, która jest databound na pierwszym ładowaniu. Kiedy użytkownik wybierze z tego wartość, wykonywany jest odświeżenie, a następnie baza danych kontrolki wzmacniaka.

ElementTemplate tego kontrolera przemiennikazawiera kontrolę zastępczą. W kodzie w zdarzeniu ItemDataBound wzmacniacza dodam dynamicznie dwa elementy sterujące do tego symbolu zastępczego, ukrytego pola i pola wyboru.

Kiedy użytkownik kliknie przycisk zapisu, wtedy chcędo iteracji wszystkich dynamicznie tworzonych pól ukrytych i pól wyboru oraz określenia ich wartości. Jednak gdy użytkownik kliknie przycisk zapisywania, elementy te przestają istnieć, jak pokazano na stronie śledzenia.

Wiem, że to jest problem dotyczący cyklu życia i artykułyWidziałem na tej sugestii za pomocą metod Init dynamicznie tworzyć kontrolki, ale nie mogę tego zrobić ze względu na sposób, w jaki działa moja strona, np. kontrolka wzmacniaka pojawia się i wiąże dopiero po wybraniu wartości z listy rozwijanej.

Co muszę zrobić, aby utrzymać dynamiczne sterowanie przez odświeżenie spowodowane kliknięciem przycisku zapisu?

Odpowiedzi:

0 dla odpowiedzi № 1

Problem występuje po naciśnięciu przycisku zapisuprawdopodobnie nie powinieneś ponownie wiązać repeatera, a kontrolki, które dodałeś w czasie wykonywania, w przypadku zdarzenia ItemDataBound, nie są już dostępne (ponieważ już nie istnieją) Dlaczego nie dodać tych kontroli w czasie projektowania za pomocą funkcji Eval, ustawić wartość ukrytego pola?


0 dla odpowiedzi nr 2

Po prostu nie twórz ich dynamicznieprzy zmianie selekcji zestawu rozwijanego ustaw widoczność prawda lub fałsz dla wzmacniacza, który rozwiąże twój problem. Po wysłaniu musisz ponownie utworzyć te kontrolki, ponieważ są one Dynamicznie tworzone.