Vă mulțumim pentru susținere

Cale usoara pentru AJAX WebControls

Am o aplicație web pe care încerc să o optimizez. Unele dintre comenzile sunt ascunse în DIVs . Deci, aș vrea să le încărcați prin intermediul AJAX numai atunci când utilizatorul dorește să le vadă. Acest lucru este bine pentru controalele care sunt în mare parte bazate pe literal (diverse meniuri și widget-uri), dar când am ceea ce numesc controale "murdare" - cele care scriu informații extinse la ViewState , puneți tone de CSS sau script-ul pe pagină, necesită o mulțime de referințe etc. - acestea sunt aparent imposibil de mutat "afară din pagină", ​​în special având în vedere modul în care ASP.NET va reacționa la postback.

Mă gândeam la un pas în care să-l suprascriu pe Render, să găsesc markeri pentru biții pe care vreau să mișc și să pun AJAX în loc, dar nu numai că serverul de la capătul ei pare extrem, se simte, de asemenea, ca un hack complet. În plus, elementul cheie aici sunt casetele de dialog care conțin formulare cu controale de validare pe ele și nu-mi pot imagina cum mișc controalele și scripturile necesare.

În imaginația mea febrilă, vreau să fac asta:

AJAXifier.AJAXify(ctlEditForm);

Din păcate, știu că este un vis.

Cât de aproape pot ajunge într-adevăr la o AJAXificare rapidă și ușoară, fără a provoca o încărcare prea mare pe server?

0
adăugat editat
@ tags2k - În cazul în care vă ajută, cred că puteți acorda licență setului de control pentru 799 $ (minus abonament și cod sursă)
adăugat autor Yaakov Ellis

3 răspunsuri

Pasul unu este de a vă face piesele "murdare" cu autocontrolul de control al utilizatorului

Pasul doi este de a încorpora acele comenzi pe pagina consumatoare

Pasul trei este de a înfășura fiecare etichetă de control al utilizatorului în propriul lor Asp: UpdatePanel

Pasul patru este să vă asigurați că controlul dvs. obține datele de care are nevoie prin citirea acestuia din proprietățile care verifică opțiunea de vizualizare pentru valorile preexistente. Știu că acest lucru face ca codul să se bazeze pe variabile globale urâte, dar este o modalitate rapidă de a face acest lucru.

Kilometrajul dvs. poate varia.

0
adăugat

Consultați controlul RadAjax de la Telerik - permite pentru a evita utilizarea UpdatePanels și a limita cantitatea de informații transmise între server și client prin declararea relațiilor directe între comenzile de apelare și controalele care ar trebui să fie "Ajaxified" atunci când comenzile de apeluri trimit postback-uri.

0
adăugat
Asta e exact ceea ce vreau, din păcate este de 999 $ și asta pur și simplu nu este în buget. Voi marca postul dvs. ca răspuns, dacă cineva nu are o alternativă mai ieftină! @ Rob: Sunt mândru să spun că nu există un UpdatePanel în întreaga soluție, în ciuda lor și a crustei incredibil de ineficiente pe care o trimit. Problema cu încercarea de a curăța controalele murdare este că infractorii nu sunt ale mele - sunt Microsoft!
adăugat autor tags2k

Vă recomandăm să mergeți la magazinul dvs. local de cărți în acest weekend, să luați o ceașcă de cafea și să găsiți jQuery în acțiune de către Manning Press. Continuați și citiți primul capitol al acestei cărți de 300 de pagini din magazin, apoi cumpărați-o dacă rezonează cu dvs.

Cred că veți fi surprinși de cât de ușor jQuery vă permite să efectuați ceea ce descrieți aici. De la ajax apelurile către server în fundal, la afișarea și ascunderea etichetelor div bazate pe acțiunile vizitatorului. Suma codului pe care trebuie să o scrieți este super mică.

Există o grămadă de biblioteci de bune JavaScript, aceasta este doar una dintre ele care îmi place și este cu adevărat ușor să începeți. Începeți prin includerea unei referințe la fișierul jQuery curent cu o etichetă și apoi scrieți câteva linii de cod pentru a interacționa cu pagina dvs.

0
adăugat