ASP.NET TreeView javascript před postback

hlasů
4

Snažím se kód, co si myslím je docela běžné AJAX vzor pomocí treeviews a UpdatePanels. Moje situace je následující:

Mám TreeView v rámci jedné UpdatePanel. Mám Literal rámci jiného UpdatePanel. Když uživatel klikne na uzlu v TreeView, jsou aktualizovány obsah doslovný. Nyní, protože celá věc je asynchronní, je zde samozřejmě časová prodleva mezi kliknutím a aktualizaci doslovného obsahu. Během této doby bych chtěl udělat dvě věci:

1) ukazují UpdateProgress a

2) Vymazání obsahu doslovný

Je tomu tak proto, že uživatel nemusí dívat na staré obsah, zatímco nový text je stále načtena asynchronně.

Nemohu přijít na to snadný způsob, jak splnit (2). Byl jsem čtení na straně klienta zpětná volání a pomocí GetCallbackEventReference, ale vypadá to, že velmi komplikovaným přístupem k tomu, co je zdánlivě jednoduchý problém.

V ideálním případě bych chtěl nechat TreeView sám k tomu, že je to práce. Nechci, aby se obsah sám a přidejte je do TreeView pomocí JS. Jen bych rád odhalit událost změny uzlu na straně klienta, uklidit doslovný, a nechat TreeView chodí s jeho normální provoz.

Je to možné? Nebo klient volání zálohuje moje jediná možnost?

Položena 23/12/2008 v 05:36
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
1

Budete chtít hrát s PageRequestManagerz knihovny ASP.NET AJAX. Zde je odkaz MSDN pro osoby se sníženou pohyblivostí - http://msdn.microsoft.com/en-us/library/bb311028.aspx .

Jen se k varoval Microsoft uvedly, že TreeView může být problematické v rámci UpdatePanel a budete také chtít být velmi opatrní při plnění , a to zejména pokud máte velký TreeView (viz můj článek o optimalizaci výkonu UpdatePanel - http: / /www.aaron-powell.com/blog.aspx?id=1195 ). Měli byste se podívat na něco jako jQuery plugin (např http://bassistance.de/jquery-plugins/jquery-plugin-treeview/ ).

Ale ve skutečnosti odpovědět, že jste otázku, na kterou je třeba:

  • Mají BeginRequestobsluhu události, která se pak Vymažte doslovný a může dokonce ukázat Loading (nejsem fanoušek UpdateProgress, dávám přednost mnohem přesnější kontrolu dostanu od toho to sám)
  • Použít EndRequestudálost, aby zajistily, že se načítá složka vanises

Dalo by se také provést TreeView se AsyncPostbackTriggerz 2. UpdatePanel na stránce, nebo jen volání metody Update na něm během asynchronní postback z TreeView

Odpovězeno 23/12/2008 v 07:06
zdroj uživatelem

hlasů
0

Měl jsem stejný problém a připevnil ji vytvořením skrytý prvek HTML, který překrývá oblast chci schovat. I ukazují, že onSubmit a schovat ji do window.onload během zpětného vystavení. Není to hezké, ale funguje to a měl by být rychlý.

Odpovězeno 25/04/2011 v 07:45
zdroj uživatelem

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