Van-e bármilyen módon, hogy módosítsa lekérdezés húrok törés nélkül egy ASP.Net postback?

szavazat
1

Olvasva itt és szerte a neten, én közel feltételezve, hogy a válasz „nem”, de ...

Tegyük fel, hogy van egy ASP.Net oldalon, hogy néha van egy lekérdezési paramétert. Ha a lapnak a lekérdezési paramétert, szeretnék, hogy a szalag le előtt, alatt vagy után postback. Az oldal már sok kliens-oldali script (tiszta JavaScript és jQuery).

Példaként mondom betölteni:

http://myPage.aspx?QS=ABC

A QS paraméter ellenőrzése szükséges, mi jelenik meg az oldalon, ha az első terhelés és beállítása az oldalon, hogy „kéri” azt. myPage.aspxformája van elemeket kell kitölteni, és a küldés gombot, amely nem a postback. Amikor az oldal befejezi a postback, azt kell vissza URL lenni:

http://myPage.aspx

annak érdekében, hogy elkerüljék a kliens oldali kódot, hogy hívják, ha a query string van jelen. Más szóval, miután a submit nem akarom a kliens oldali intézkedéseket társított lekérdezési paramétert tüzet. Tudom, én is hozzáfűzni formájában tartalmát az URL lekérdezési karakterlánc paraméterek magukat, és csak átirányítani az új URL-t és ne a benyújtja / postback, de ez igényel sokkal több típusú ellenőrzését a codebehind hogy elkerüljék a rossz adatok és alkalmi hamisítást. Feltételeztem azt is meg egy rejtett mezőt a codebehind és nézd meg együtt a query string, hogy megszünteti az ügyféloldali viselkedés, ha én jön vissza a postback, de még mindig marad a query string ép alapvetően örökre, és szeretnék hogy megszabaduljon ez a kezdeti oldal betöltését.

Bármilyen ötletet vagy legjobb gyakorlatok?

PS - Van valami, amit tehetünk a Form.Action tulajdonság, hogy nem törik a postback viselkedést?

A kérdést 09/12/2008 16:44
a forrás felhasználó
Más nyelveken...                            


3 válasz

szavazat
2

Szeretném használni egy httpModule hogy elfogják, és átírni az URL és a lekérdezés ahogy jött. Nem vagyok 100% -os, de én nem hiszem, hogy ez bármilyen hatással a Viewstate.

Úgy hangzik, (és úgy néz ki) komplex, de valójában meglehetősen triviális és nyitott egy csomó kifinomultság és kiterjesztés (mint egy .NET általában).

Válaszolt 09/12/2008 17:42
a forrás felhasználó

szavazat
1

iam nem biztos, ez az, amit keres, de ha helyesen értelmezem ezt megteheti:

-on az oldalak betöltési csekket a QS-érték, ha nincs ott használja a rejtett mezőt.

-első alkalommal oldalbetöltések QS, nem a szokásos feldolgozási és tárolja QS érték egy rejtett mezőben.

-ha nem QS majd a rejtett bemeneti érték

-Miután postback, akkor átirányítja az ugyanazon az oldalon, ezen a ponton meg tudná felhasználó Request.Form [] letölteni a rejtett beviteli mező, még betölti az adatokat megfelelően, de megszabadulni a QS.

logikus, a fejemben, nem vagyok biztos, hogy van értelme, de én hagylak dönt.

Válaszolt 09/12/2008 17:34
a forrás felhasználó

szavazat
1

Valószínűleg rossz gyakorlat, de azokban az esetekben (és azok csak meg kell „reset” oldal), egyszerűen nem egy Response.Redirect ugyanarra az oldalra.

Válaszolt 09/12/2008 16:47
a forrás felhasználó

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