Ho un gestore di errore personalizzato nel metodo Application_Error del global.asax, quando si verifica un errore io uso il seguente codice per trasferire utente alla pagina di errore:server.Transfer in Global.asax
Server.Transfer("/Error/");
Tuttavia, senza specificando il nome effettivo della pagina il codice sopra si rompe con l'eccezione "Errore nell'esecuzione della richiesta figlio per/Errore/".
Quindi, se utilizzo Server.Transfer("/Error/Default.aspx")
, funziona senza problemi.
Anche l'utilizzo di Response.Redirect("/Error/")
funziona anche bene, tuttavia vogliamo continuare a utilizzare Server.Transfer per conservare l'URL visualizzato nella barra degli indirizzi quando viene visualizzata la pagina di errore in modo che gli utenti possano semplicemente aggiornare la pagina per riprovare ad accedere all'URL originale.
Sarebbe grato se qualcuno potesse commentare come ottenere il metodo Server.Transfer senza specificare il nome effettivo della pagina di aspx.
Molte grazie.
Il server.Transfer senza una pagina specifica funziona su una pagina normale? Se il server.Transfer nasconde il nome della pagina, perché è incluso nel trasferimento un problema? – Doobi
So cosa intendi, includere veramente il nome della pagina nel codice non influirà sul modo in cui gli utenti lo vedono, stavo solo cercando di cercare un po 'di perfezione dato che tutti i nostri percorsi sono dichiarati come costanti e pensiamo che Server.Transfer potrebbe seguire la convenzione qui. Credo che dovrò fare un'eccezione per questa istanza e includere il percorso completo. Grazie. – Maya