Utilizzando Server.Transfer per preservare l'URL della pagina, come mantenere l'URL quando si fa clic su un pulsante sulla nuova pagina?

voti
0

Sono molto molto nuovo per asp.net, e nel mio tour delle sue caratteristiche ho scoperto che se si utilizza Server.Transferinvece di Response.Redirectallora, tra le altre cose, è possibile preservare l'URL della pagina originale. Ho creato due pagine di test.

Il primo ha una casella di testo e un pulsante. Quando si fa clic sul pulsante, il contenuto della casella di testo vengono salvati nella Sessionvariabile e Server.Transferviene utilizzato per caricare la seconda pagina. In questa pagina c'è un pulsante e un'etichetta. Quando si fa clic sul pulsante, l'etichetta viene popolata con ciò che è stato salvato nella variabile di sessione.

Il problema è, quando si fa clic sul pulsante nella seconda pagina e l'etichetta è alterato, l'URL cambia a quella della seconda pagina. Questo sembra un po 'per annullare l'obiettivo, quindi come posso fare per preservare l'URL?

È pubblicato 05/07/2013 alle 23:38
fonte dall'utente
In altre lingue...                            


1 risposte

voti
2

Facendo clic sul pulsante nella seconda pagina sta causando un postback e il server sta mostrando l'URL della pagina che si sta scrivendo di nuovo a (seconda pagina). In effetti, avete fatto un Response.Redirecta te stesso.

Sono curioso di sapere perché si vuole avere due distinte .aspxpagine si comportano come se fossero una sola. Uno dei principali svantaggi di usare Server.Transferè la confusione che provoca l'utente quando pensano di essere in una nuova pagina, ma il browser dice il contrario; soprattutto in scenari di bookmarking.

Se si desidera che la logica di risiedere in una singola .aspxpagina, ma agiscono come due unità logiche separate, allora vi suggerisco di utilizzare ASP.NET Panelcontrolli che mostrare / nascondere la logica in base alle esigenze e code-behind della pagina può reagire agli eventi necessari (vale a dire i clic sul pulsante ) tutto in una pagina e l'URL sarà lo stesso per tutto il tempo.

Risposto il 05/07/2013 a 23:48
fonte dall'utente

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