[ MilosR @ 20.05.2004. 13:33 ] @
Na koji nacin moze da se resi prikazivanje sadrzaja iz baze, a da se pri tom ne osvezava cela strana, vec samo deo gde je prikaz iz baze.

To bi trebalo da radi slicno kao frame, a da to ne bude frame (menja se jedan deo strane dok je ostali statican).

Mislim da moze da se resi upotrebom DHTML-a i neke komponente koja bi vadila podatke iz baze. Akcija bi se pokretala pritiskom na dugme, kasnije bi to trebalo da radi na neki vremenski interval.

Ako neko ima neki primer ili savet unapred hvala.

MilosR
[ spartak @ 20.05.2004. 16:02 ] @
Lepo ti je Dalibor rekao, a ti ne mozes da se smiris :-)

Bez submitovanja strane nazad na server nema nista od toga. Sve sto mozes da uradis je da keshiras sve sem onoga sto ces updateovati.

Ako postoji nacin da se iz JavaScript sa klijentske strane okacis na bazu, dovuces podatke bez reloadovanja strane - i ja bih to voleo da saznam.
[ mmix @ 20.05.2004. 19:44 ] @
Mehanizam postoji, verovali ili ne, ali ne radi u asp.net kontrolama koje MS isporučuje (bar ja nisam video). Ja za ove potrebe koristim DataGrid (i ostale kontrole) iz Infragistics UltraSuite 2004 paketa (www.infragistics.com). Ako skineš i instaliraš obrati pažnju u samplovima na "load-on-demand" primere. Pretpostavljam da ima još 3rd party komponenti koje podržavaju load-on-demand.



[ mmix @ 20.05.2004. 19:50 ] @
BTW, ako volite da se igrate JavaScript-om, uvek postoji način za custom load-on-demand. Koristi se COM objekat "msxml2.XmlHTTPRequest", sa njim možeš od servera da pokupiš samo XML sa podacima i onda kroz XMLDOM barataš tim podacima na klijentskoj strani, npr da kroz HTML DOM popuniš tabelu. Hmm, da li sam pomenuo da ovo radi samo na IE
[ jablan @ 21.05.2004. 07:57 ] @
Citat:
mmix:
Mehanizam postoji, verovali ili ne, ali ne radi u asp.net kontrolama koje MS isporučuje (bar ja nisam video).

Kako to funkcioniše (a da nije XMLHTTP)?
[ mmix @ 21.05.2004. 10:00 ] @
Ne znam kako bi radilo na NSu, nisam toliko ulazio u tu priču jer Mozilla žešće kasni za IEom, tako da sam fokusiran na IE. Jedina alternativa na IEu koju vidim je da se kroz HTML DOM promeni src atribut XML taga, ali pretpostavljam da onda IE poziva XmlHTTPRequest
Inače, izbacili su client side load-on-demand iz Infragistics-a, izgleda da je problem sa kompatibilnošću ubio još jedan feature. Jedina komponenta koja mi sada radi pravi client load-on-demand je TreeView kontrola od ComponentArt-a (www.componentart.com), ali oni nemaju grid kontrolu Kakav bedak, sad opet moram da jurim novi set kontrola...
[ nervozica @ 21.05.2004. 11:41 ] @
Na ovaj nacin osvezavas samo (u mom primeru div) element id=test

***********
main.html
***********
<html>
<script>
function setHTML(sender) {
if(sender.innerHTML != "")
document.getElementById("test").innerHTML = sender.innerHTML;
}
</script>

<body>
<iframe id="ifMain" name="ifMain" frameborder="0" width="0%" scrolling="no" height="0%"></iframe>
<div id="test"></div>
<input type="button" onclick="document.getElementById('ifMain').src='test.html'>

</body>
</html>

*************
test.html
*************
<body onload="setHTML(document.getElementById('elem'))">
<div id="elem">neki podaci<div>
</body>
[ -zombie- @ 23.05.2004. 18:47 ] @
Citat:
mmix:
Ne znam kako bi radilo na NSu, nisam toliko ulazio u tu priču jer Mozilla žešće kasni za IEom, tako da sam fokusiran na IE. Jedina alternativa na IEu koju vidim je da se kroz HTML DOM promeni src atribut XML taga, ali pretpostavljam da onda IE poziva XmlHTTPRequest.


http://jibbering.com/2002/4/httprequest.html

pre će biti da IE "žešće" kaska za mozilom, ali ajde..

prvo, u zavisnosti od verzije IEa, treba koristiti različite ActiveX klase. a osim toga, ActiveX je moguće isključiti u IEu (što dosta ljudi radi, zbog sigurnosti, jer je IE ionako bušan ko švajcarski sir).

a mozila recimo podržava osim HTTP zahteva i SOAP (wsdl), i još ponešto..
[ mmix @ 24.05.2004. 16:32 ] @
Citat:
prvo, u zavisnosti od verzije IEa, treba koristiti različite ActiveX klase. a osim toga, ActiveX je moguće isključiti u IEu (što dosta ljudi radi, zbog sigurnosti, jer je IE ionako bušan ko švajcarski sir).

msxml2 ide uz Windows 95 OSR2.5 i jače i uz IE4.01 i jače, fabrički, tako da ga većina target auditorijuma poseduje bez potrebe da se downloaduje kao ActiveX. Ja više ni ne pokušavam da gađam stariju verziju (Microsoft.XMLHTTP) jer odavno nisam video da neko koristi IE 4.0 i slabiji.
A što se tiče security rupa, ovaj segment je mnogo naduvan. Jedno je dozvoliti download svih ActiveX-a pa nastradati (a ovo može tek u Low security podešavanju koji nije uključen po defaultu) ili downloadovati i instalirati ActiveX potpisan "krivotvorenim" kljucem, a drugo bojati se već instaliranih COMova koji podpadaju pod drugi security rule i isključeni su tek u High Security podešavanjima. Onaj ko uspe da ti instalira harmfull COM objekat van Low zone taj može da ti instalira i aktivator koji će da diže taj COM sve i da si u High zoni.
Defacto, većina ljudi ostavlja IE po fabričkom podešavanju po kome je Internet zona u Medium security podešavanju po kome već instalirani COMovi rade bez prompta, pa i upotreba XmlHTTP ima smisla.

Citat:
a mozila recimo podržava osim HTTP zahteva i SOAP (wsdl), i još ponešto..

Nemoj me shvatati za mozillo-mrzca Nova mozilla je ql, sledeća će biti još bolja, isto važi i za Netscape odgore, ni FireFox nije loš, gecko napreduje, ali sve ove tehnologije uništava ono isto što počinje da uništava i Javu, ne ide uz Windows. Niko mi još nije rekao da je minimalna platforma NS 7.0 i IE 6.0, već svi traže IE5 i NS4.7, a tu već stvari mnogo ne valjaju. Sav javascript development se svodi na pisanje iste funkcionalnosti dvaput, pola CSS stilova ne radi pod NSom, ne postoji regional podrška u javascriptu, itd, itd. Pa na kraju kad vide da to ne liči baš spektakularno kad se downgraduje da bude kompatibilno, onda odustanu od NSa pa dobiju ono što traže.
Nisam ja oformio tržište ali cifre koje se pominju ovde (http://answers.google.com/answers/threadview?id=306241, http://www.browsermonitor.com/) i sam dobijam na izveštajima sa sajtova koje sam radio, između 92 i 97% hitova su sa IE-a. To već i managment uviđa i zadnja dva projekta koja sam radio su bila IE only, jednostavno nema opravdanja za dodatne troškove. Šta da kažem, mozilla je ok, ali ova bitka je izgubljena, sad može da ima feature dva puta bolje od IEa, ali sumnjam de će mi neko skoro tražiti da aplikacije budu NS kompatibilne ili da će neko intranet rešenje biti non-IE. Ja znam šta ovo znači, činjenica da je rat gotov znači da IE više neće napredovati, tako da ni ja nisam baš srećan razvojem situacije (a i nema više dodatne love za NS kompatibilnost )
[ Dragi Tata @ 24.05.2004. 19:33 ] @
Samo prijateljsko upozorenje da se ova lepa temica ne pretvori u IE vs Mozilla prepucavanje. Hvala.

PS Zombi, čim se ti pojaviš, krenu ovakva upozorenja ;)
[ mmix @ 25.05.2004. 10:16 ] @
Ma neće sigurno, obojca se slažemo da je Mozilla ok, a moje tvrdnje su više tržišne nego tehnološke prirode, tako da ne vidim povod za bilo kakav flame. Uostalom, držimo se teme, i ja bih voleo da saznam da li Mozilla može i kako može da svuče XML sa servera a da nije menjanje src atributa na div tagovima i da nije XmlHttp.

[ stsung @ 02.08.2004. 10:55 ] @
Pozdrav svima.
Da malo ovo zakuvamo :) Dakle, reshiti ovakav problem je moguce obichnim java skriptom i naravno uz malu pomoc servera. No, odmah da napomenem, da ovo shto cu sada reci nije nimalo lepo sa aspekta lepote programiranja tako da ako vam ovakvo neshto zaista nije potrebno, nemojte to ni raditi :)

Problem se sastoji iz 2 podproblema:
(1) Potrebno je uputiti serveru zahtev, na koji ce on da odgovori, ali tako da njegov odgovor ne izazove reload stranice.
(2) Pod uslovom da smo reshili problem (1) ostaje da nekako podatke koje je server vratio populiramo na nashu stranicu.
--
(1) Ovo je jednostavno: potrebno je zatrazhiti odgovarajuci URL od servera, a na serveru pripremiti skriptu koja ce na takav zahtev odgovoriti sa HTTP response kodom 204 (proguglajte za znachenje :). Ovde je problem reshen - zahtev je upucen serveru, server je to primio i nasha je skripta odradila vec shta je trebala da odradi, i vratila je kod 204 koji je browseru rekao da ne treba da refreshuje stranicu.
(2) Ovde pochinju problemi. Zbog specifichnosti gorepomenutog response-a, rezultat ne mozhe imati telo, vec samo hedere - shto znachi da bi nachin da server poshalje neke podatke natrag stranici bio preko kolachica. E sad, problem se svodi na populiranje podatka na stranicu. Javascriptom bi to bilo neshto ovakvo (ne zamerite na greshkama, pishem ovako odokativnom metodom) :
Code:

  function Populiraj() {
    var stari_brojac = getCookie("brojach");
    var lokal = 1;
    konekcija.click();
    while ((getCookie("brojach") == stari_brojac)&&(lokal < 500) {
    lokal=lokal+1;
    pause(10);
  };
  if (lokal < 500) destniacija.innerHTML = getCookie("brojach");
  else destinacija.innerHTML = "Error.";  
}

Funkcije getCookie i pause mozhete sami napisati ili naci negde na internetu: getCookie u stvari parsira document.cookie i vadi odgovarajucu vrenost (da podsetim: document.cookie je u formatu "var1=vrednost1; var2=vrednsot2" itd.) a pause pauzira izvrshavanje na 10 milisekundi.
Dakle shta se deshava? Prvo uzimamo trenutnu vrednost kolachica brojach koji server posle svakog zahteva inkrementuje i poshalje kao response. Potom linku koji smo u nashem htmlu nazvali konekcija (znachi prazan tj. nevidljiv link) naredjujemo da odradi svoj posao (npr. http://www.server.com/inc.php). Nakon shto server vrati response, imacemo novu, inkrementovanu vrednost kolachica brojach. Naredna petlja je tu da bi ogranichila brzinu izvrshavanja funkcije, jer ne mozhe tako brzo da se odradi request/primi response od servera - mozhda se nikad ni ne desi, zbog chega imamo ogranichenje od oko 5 sec kako ne bi petlja zablokirala browser. I na kraju u neki DIV objekat koji smo nazvali destinacija upisujemo novu vrednost brojacha.
Mozhda se neko pita zashto sam ovvo napisao da radi preko konekcija.click() ... ako se dobro secam dok sam to radio, link koji bi imao href ka toj skripti i u onclick event ovu funkciju ne bi radio, jer IE nece da updatuje kolachice dok se izvrshavanje akcije klika na takav link ne okoncha). Naravno, mozhemo da baratamo i sa vishe vrednosti, ali imajte na umu da je ogranichenje od mislim 20 kolachica. Isto tako, velik broj vrednosti, komplikovana stranica - to ce da bude sve samo ne lepo programiranje tako da ako mozhete, izbegnite to. Da napomenem: ovo shto sam napisao sigurno radi u IE ali glavu dajem da u ostalim browserima ne radi ... tako da bi bilo lepo da to neko odradi. :)
Svako dobro.
[ Prokleta_Nedelja @ 03.02.2007. 21:05 ] @
Ma u te svrhe možda je najzahvalnije koristiti AJAX.NET