Mogę uniknąć posiadające UpdatePanel który zabija stan wyświetlania?

głosy
3

I strona wyboru, który ma gridview, który przedstawia użytkownikowi listę elementów danych, które mogą kliknąć na „wiercić” - przekierowuje je do strony obsługi danych.

Ponieważ lista może się długo, mamy szereg pól wyboru i list rozwijanych na górze, które działają jako filtry.

Właśnie wdrożyliśmy UpdatePanel z UpdatePanelAnimationExtender tak, że gdy strona wykonana długich podróży z powrotem do databse, dostaną piękny „Processing ...” pop-up.

Problem polega na tym, to wydaje się przełamać stan wyświetlania na listach rozwijanych i pól wyboru. Teraz, kiedy idą na „stronie szczegółów” i wciśnij przycisk Wstecz, aby wrócić do strony „selekcji” - wybrane wartości w pola wyboru i drop-downlists wracają do swoich pierwotnych wartości domyślnych. Listy są nadal wypełniane, ale „zapomniał”, co mieli, gdy użytkownik kliknął na stronę utrzymania danych.

Wyjąłem kod .aspx dla UpdatePanel i animacja rozszerzony i ponownie przetestowane i wszystko działało idealnie. Tak więc, jak widać, UpdatePanel i / lub AnimationExtender nie grać ładny ze stanu wyświetlania.

Czy istnieje sposób można zatrzymać działania UpdatePanel Pochodzi w efekcie zerowania się z”.SelectedValue” właściwości?

Utwórz 29/06/2009 o 16:15
źródło użytkownik
W innych językach...                            


1 odpowiedzi

głosy
2

Po pierwsze chciałbym usunąć sterowanie „filtrowania” z UpdatePanel. Zakładając, że dane dotyczące tych kontroli są wyceniane na Page_Load, nie muszą być odświeżane za każdym razem, filtr zostanie zastosowany do GridView. Tylko GridView jest bycie odświeżony, więc jest prawdopodobne, że jest to jedyna kontrola, które powinny być zawarte w UpdatePanel.

Każdy z kontroli filtrowania mogą być dodawane jako wyzwalacz do aktualizacji UpdatePanel deklarując je w punkcie kontroli Updatepanel. Albo, jeśli proces filtrowania jest wywoływana przez „submit” jak przycisk, który byłby kontrolą należy uznać w części. To powinno zachować wartości kontrolnych filtrujących w pamięci podręcznej przeglądarki.

Można również spróbować UpdateHistory kontrolę Nikhil Kothari za (Nikhil ma doskonały blog, btw), który będzie zapisywał zawartość UpdatePanel jako wpisy historii w liście historii przeglądarki.

EDIT: FYI, UpdatePanel nie "zabić" ViewState. Elementu ViewState jest przesyłany tam iz powrotem za pośrednictwem mechanizmu aktualizacji UpdatePanel jest często przyczyną problemów z wydajnością, jeśli ViewState jest zbyt duża. Co widzisz jest historią pamięć podręczną przeglądarki nie przechowywania wartości, które zostały aktualizowane w kolejnych wywołań zwrotnych. Powyższe techniki powinno pomóc.

Odpowiedział 29/06/2009 o 16:51
źródło użytkownik

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more