Naprawdę poczyniłem znaczne wysiłki, aby jakoś znaleźć odpowiedź; po porażce przeszukałem wiele forów, zanim przeszkadzałem ekspertom. Proszę pomóż!
Mam Listview w USerControl mojego głównegoFormularz; jego InsertItemTemplate ma TextBox, którego wartość ma zostać wypełniona poprzez kliknięcie przycisku Linkb w wierszu innego widoku listy (w innym UserControl) w panelu ModalPopUp, który pojawia się po kliknięciu przycisku Link w nadrzędnym UserControl. Po wybraniu (poprzez kliknięcie przycisku Link w ModalPopUp), ModalPopup zamyka się natychmiast, a w Code-Behind of Child-UserControl zapisuję Selected-Value w zmiennej Session. Mój problem jest taki (ponieważ InsertItemTemplate jest już wyświetlany) Nie wiem, gdzie umieścić kod do wypełnienia TextBox (w Parent UserControl) zapisaną wartością z Variable Variable.
ItemCreated, ItemDataBound są już wykonaneprzed wyświetleniem ModalPopUp. Tak więc, mimo że mam wymaganą wartość TextBox w zmiennej Session-Variable, nie jestem w stanie wypełnić TextBox w InsertItemTemplate.
Będę wdzięczny za wszelkie sugestie, jeśli ktoś z wasznalazłem odpowiedzi na taką sytuację. Wydaje mi się, że NIESAMOWITE należy wstawić InsertItemTemplate do ponownego załadowania, a pole TextBox w nim należy wypełnić w polu ItemCreated dla typu danych InserItem. Ale nie wiem jak to zrobić ???
Wszelkie myśli mile widziane. Mam podobną logikę w wielu miejscach w mojej aplikacji; a jeśli nie będę mógł tego zrobić, znacząco wpłynie to na moją aplikację :-(.
Mam nadzieję, że jeden z was ekspertów uprzejmie mi pomoże. Dzięki.
Odpowiedzi:
0 dla odpowiedzi № 1Dzięki. Mógłbym to naprawić. Wspominając o tym tutaj dla niektórych początkujących (takich jak ja), którzy mogą napotkać podobny problem.
Pytanie brzmiało, gdzie umieścić kod (aby Selected Value wypełnił TextBox w InsertItemTemplate
) w scenariuszu opisanym powyżej w pytaniu.
Uważam, że w zdarzeniu wstępnego renderowania nadrzędnej funkcji UserControl, w trybie PostBack, po znalezieniu wspomnianej kontroli TextBox za pośrednictwem e.InsertItem.FindControl("TextBox")
, Jestem w stanie wypełnić ją wybraną wartością. Nie wiem, czy jest to najlepszy sposób, ale teraz działa dobrze.
Mam nadzieję, że może to komuś pomóc! Dzięki.