Sunt nevoit momentan sa fac o aplicatie web nu in ASP.NET, cum eram obisnuit, ci in PHP, iar cele doua tehnici imi erau utile.
Aveti idee cum le pot simula in PHP?
Mersi!
Sunt nevoit momentan sa fac o aplicatie web nu in ASP.NET, cum eram obisnuit, ci in PHP, iar cele doua tehnici imi erau utile.
Aveti idee cum le pot simula in PHP?
Mersi!
Nu stiu exact la ce se refera cele doua.. dar.. din cate stiu cred ca ai putea sa faci un mix intre JS si PHP sa obtii acelasi efect.
Stii ce faci cu $_POST['numecamp'] ?
Te-ai gandit la campuri ascunse in pagina?
Ai cautat pe google? poate gasesti ceva gata facut. eu sunt genul care face totul de la 0.
Daca nu se gaseste altcineva sa ajute, explica-mi scurt ce fac postback si viewstate. Mai exact ce vrei tu sa faci cu ele.
ViewState e un camp hidden de forma:
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJMjgzMDgzOTgzZGQJxOsir4ub7qxJucVwfxj5nBYdSg= =" />
care pastreaza toate informatiile din campuri la refresh. Adica daca completezi orice form si dai refresh, de obicei la PHP pierzi tot ce ai scris, in ASP.NET nu. M-ar fi interesat asta si in PHP.
PostBack e de fapt o proprietate AutoPostBack care daca e pusa enabled pe orice camp care o suporta, imediat ce un text dintr-un input sau un checkbox, sau un radiobutton care s-a schimbat, pagina isi face refresh automat si se pot face diverse operatii in acel moment.
Exemplu:
Daca am un TextBox (<input name="TextBox1" type="text" value="blabla" onchange="javascript:setTimeout('__doPostBack(\'Te xtBox1\',\'\')', 0)" onkeypress="if (WebForm_TextBoxKeyHandler(event) == false) return false;" id="TextBox1" />)
si daca schimb textul din acel camp si ies cu focusul din el (de ex cu un tab), pagina ia acea valoare noua pe care am scris-o, isi face refresh prin postback, executa anumite functii date de tine la eventul onchange, apoi cand revine pune si textul inapoi in acel camp. Fara niciun pic de JavaScript scris, doar cateva optiuni bifate (unele pornite by default), si fara niciun buton pe form.
Practic daca ati scris aplicatii Windows, se comporta exact la fel ca acolo, postback si viewstate simuleaza aplicatiile Windows pentru un Web care pana la urma e stateless
As fi vrut functionalitatile astea si in PHP. Google nu prea m-a lamurit, decat cu ceva JavaScript scris manual, dar cam mult. Ma gandeam ca exista vreun framework care face toate astea.
Mai multe despre postback si viewstate puteti sa vedeti aici, intr-un tutorial video: http://www.asp.net/learn/videos/video-12.aspx
Iar functia de postback generata automat de ASP.NET e asta:
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
unde proprietatile alea sunt:
<form name="form1" method="post" action="Default.aspx" id="form1">
<div>
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
<input type="hidden" name="__LASTFOCUS" id="__LASTFOCUS" value="" />
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJMjgzMDgzOTgzZGQJxOsir4ub7qxJucVwfxj5nBYdSg= =" />
</div>
Nu sunt sigur daca am inteles exact ce vrei tu .. am impresia ca vrei un fel de autosave fara ca userul sa faca ceva nu ? (cum are wordpress-ul salvarea drafturilor din x in x secunde ?).
Google -> AJAX periodical updater pt partea de js (pe scurt ai un js care apeleaza la un interval de timp un PHP)
Pt partea de PHP folosesti sesiuni.
Dever's Blog - Atentie! dau cu parerea.
Sunt framework-uri php care au librarii asemanatoare, dar pana le inveti mai repede iti faci formularul cu plain php.
Momentan este/sunt 1 utilizator(i) care navighează în acest subiect. (0 membrii și 1 vizitatori)