PostBackUrl VS Href

giovedì 21 luglio 2011 - 15.44
Tag Elenco Tags  C#  |  .NET 3.5

andrestu Profilo | Expert

Nel caso in cui devo inserire in un sito aspnet un link ad una pagina, vorrei capire quali sono le differenze in termini di ottimizzazione di risorse se al posto di impostare la proprietà PostBackUrl faccio un link diretto con Href.
E' chiaro che non facendo il postback la pagina non viene processata quindi escludiamo a priori il caso in cui debba fare delle operazioni code-behind prima del trasferimento, in tal caso sarei obbligato a fare il postback. Consideriamo il caso in cui non debba fare alcun operazione, in termini di ottimizzazione di risorse secondo voi è sempre meglio fare il postback anche se non ce ne sarebbe bisogno?
Suppongo che una volta effettuato il trasferimento l'oggetto page precedente non più utilizzato venga distrutto, l'operazione viene gestita ugualmente in entrambi i casi?


Andrea Restucci - Web Programmer
www.andrearestucci.name
Download and try my FREE custom controls !!!

Gluck74 Profilo | Guru

>Nel caso in cui devo inserire in un sito aspnet un link ad una
>pagina, vorrei capire quali sono le differenze in termini di
>ottimizzazione di risorse se al posto di impostare la proprietà
>PostBackUrl faccio un link diretto con Href.

Credo tu ti riferisca ad un LinkButton (che ha appunto la proprietà PostbackUrl e può fare il postback), perché se ti riferisci ad un HyperLink, non fai comunque il postback.

>E' chiaro che non facendo il postback la pagina non viene processata
>quindi escludiamo a priori il caso in cui debba fare delle operazioni
>code-behind prima del trasferimento, in tal caso sarei obbligato
>a fare il postback.

Il PostBack (parlando di un LinkButton) viene fatto direttamente nella pagina di destinazione, e non nella stessa pagina con successivo trasferimento.
Se vuoi eseguire del codice "PRIMA" del trasferimento, non devi usare la proprietà PostbackUrl, fare un postBack classico, e nell'evento click del linkButton fare il redirect alla nuova pagina.

>Consideriamo il caso in cui non debba fare
>alcun operazione, in termini di ottimizzazione di risorse secondo
>voi è sempre meglio fare il postback anche se non ce ne sarebbe
>bisogno?

Se non è necessario farlo, perché farlo? considera che un postBack invia sempre una certa quantità di dati al server, mentre un normale click su un link no.

>Suppongo che una volta effettuato il trasferimento l'oggetto
>page precedente non più utilizzato venga distrutto, l'operazione
>viene gestita ugualmente in entrambi i casi?

Avrai capito a questo punto che quello scritto sopra non è valido.

Ciao

____________
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.

andrestu Profilo | Expert

>
>Credo tu ti riferisca ad un LinkButton (che ha appunto la proprietà
>PostbackUrl e può fare il postback), perché se ti riferisci ad
>un HyperLink, non fai comunque il postback.
>

Si certo mi riferisco a tutti quei controlli che hanno la proprietà PostbackUrl

>
>Il PostBack (parlando di un LinkButton) viene fatto direttamente
>nella pagina di destinazione, e non nella stessa pagina con successivo
>trasferimento.
>Se vuoi eseguire del codice "PRIMA" del trasferimento, non devi
>usare la proprietà PostbackUrl, fare un postBack classico, e
>nell'evento click del linkButton fare il redirect alla nuova
>pagina.

Si ok hai perfettamente ragione non so per quale motivo pensavo diversamente


>>Suppongo che una volta effettuato il trasferimento l'oggetto
>>page precedente non più utilizzato venga distrutto, l'operazione
>>viene gestita ugualmente in entrambi i casi?
>
>Avrai capito a questo punto che quello scritto sopra non è valido.
>

Comunque rimane il fatto che cè una differenza a livello di gestione pagine lato-server, te lo dimostra il fatto che se provi il link diretto durante la processione della pagina di destinazione la proprietà Page.PreviousPage è null, invece con il PostbackUrl la trovi valorizzata


Andrea Restucci - Web Programmer
www.andrearestucci.name
Download and try my FREE custom controls !!!

Gluck74 Profilo | Guru

>Comunque rimane il fatto che cè una differenza a livello di gestione
>pagine lato-server, te lo dimostra il fatto che se provi il link
>diretto durante la processione della pagina di destinazione la
>proprietà Page.PreviousPage è null, invece con il PostbackUrl
>la trovi valorizzata
>
certo!!!! comunque un POST verso la pagina di destinazione viene sempre fatto.
Infatti se cerchi nel Request.Form ha comunque tutti i dati inviati, mentre se clicchi su un semplice link............
Ti torna?

la differenza sta infatti nell'invio con POST (IButton) o nella semplice "request" di una pagina (link)

____________
Ricordati di utilizzare il tasto "Accetta" se i nostri consigli ti sono serviti a risolvere il problema.
È il modo per ringraziare chi ti ha aiutato.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5