2009-07-20 4 views

Odpowiedz

22

Zalety:

  1. Łatwy w obsłudze i konfiguracji

wady (no, nie wiem o wszelkich innych zalet!):

Zobacz here i here
Teraz dla najlepszej części, alternatywy:

użyć jQuery wbudowanego wsparcia dla Ajax aby GET/POST Ajax nazywa, jest to bardzo proste (prostsze niż panelu aktualizacji chciałbym powiedzieć) i absolutnie zgodny z większość przeglądarek!
Przykładem przy użyciu jednego z wielu prostych sposobów jQuery przewiduje robi Ajax wzywa:

$('#anotherContainer').load('/Home/RegularAjaxResource'); 

To po prostu zadzwonić do zasobów serwera (RegularAjaxResource w tym przypadku) i wyświetlić to zwracane dane na element UI z id anotherContainer

+2

+1 linkami do tej Encosia postu –

+0

@ 7alwagy: całkowicie wolą jQuery zbyt ... spodziewać, jeśli jesteś polegając na Viewstates i ogłaszeniach formularza, wtedy opcja "UpdatePanel" staje się dość bolesna ... Opracowałem poniżej – andy

6

Zgadzam się z 7alwagy, z wyjątkiem tylko chcesz dodać ważny punkt.

Musisz użyć UpdatePanel, jeśli chcesz aktualizować/zmieniać formanty i nadal działa w ramach formuły Postback formuły Webback, w szczególności Viewstate.

Na przykład:

jeśli jawnie użyć JS zaktualizować wartości kontroli DropDownList na kliencie, a używasz wbudowanego Webforms modelu odświeżenie strony, zmiany już dokonane won” Zostały odebrane.

Zasadniczo, jeśli polegasz na wbudowanych Viewstates, musisz użyć UpdatePanel. Z technicznego punktu widzenia nie możesz tego użyć, ale naprawdę musisz walczyć z agitacją, aby wszystko załatwić.

Jeśli nie polegasz na Postbacks lub Viewstates, to zupełnie nie potrzebujesz UpdatePanel.

3

Poważnie nie mogę wymyślić 1 zaletę korzystania z updatepanels. Są smutni i odkryłem to na własnej skórze.

Są one użyteczne tylko dla najbardziej trywialnych efektów ajaxowych i jeśli masz zamiar wykonać wyszukiwanie danych lub wyszukiwanie baz danych, mają ogromny problem z powiększaniem skali. UpdatePanels są frustrujące i przez długi czas dzieliłem żal z aktualizacjami here, here, here i here.

Jeśli to nie wystarczy, aby przekonać Cię, aby nie używać aktualizacji, nic nie będzie.

+1

Przeczytałem twoje posty i były one bardzo słabe. Narzekałeś tylko na używanie paneli aktualizacji, ale nigdy nie wyjaśniłeś dlaczego. Tylko jeden post wspomniał coś o zawijaniu div w tabeli, ponieważ miałeś problem. jeśli nie możesz myśleć o jednej przewadze, to nie wiesz, jak z nich korzystać. Nie są idealne, ale mają dobre zastosowanie, jeśli są właściwie stosowane. Jeśli twoja strona WebForm zależy od stanu wyświetlania, są one bardzo przydatne. –

1

Zgadzam się, że panel aktualizacji jest zły i dangerous, ale w niektórych przypadkach możesz z niego skorzystać, zamiast innych opcji.

  • Strona ma niewiele elementów sterujących asp.net i mniejszą.
  • Strona html nie jest zbyt duża.
  • Czas jest ograniczony do zakończenia zadania.
  • Wydajność nie jest najważniejsza.
  • Chcesz zachować kontrolę nad postacią dzięki postbackom.
  • Mieć wiele zdarzeń po stronie serwera, które chcesz uruchomić.
+0

Nie zgadzam się. Powszechnie uważam, że jest to błąd. Po uruchomieniu tej ścieżki za pomocą prostego projektu prawie zawsze masz ręce związane z technologią, ponieważ nikt nie chce płacić za ponowne napisanie, a każdy użytkownik pyta "Czy nie możesz po prostu _____________"? –

1

Zalety:

  1. Łatwy do wdrożenia
  2. Nie ma potrzeby, aby napisać skrypt w kliencie

Wady

  1. Używa większej przepustowości, ponieważ wszystkie stany widoku są przenoszone
  2. Element, który ma wywoływać wywołanie ajax, powinien znajdować się wewnątrz panelu aktualizacji. Nie jest to praktycznie możliwe przez cały czas.
  3. Dane poza panelem aktualizacji nie są wysyłane na serwer, co może być potrzebne do dalszego przetwarzania.
  4. W praktyce deweloper nie może wstępnie ustalić, co jest potrzebne do włączenia wszystkie dane w panelu aktualizacji