Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    problema con url pagina

    salve a tutti...
    mi serve conoscere, al Page_load, l'url, per esteso, della pagina.

    Ho provato diversi modi, tra cui l'ultimo è questo:
    codice:
     
    System.Web.UI.Page myPage = (System.Web.UI.Page)System.Web.HttpContext.Current.Handler;
    string loc_addr = myPage.Request.Url.AbsoluteUri;
    Ebbene questo metodo per certe pagine funziona... per altre no... non mi riesce di capire bene con quale criterio... ma in certi casi vien fuori un'eccezione di questo tipo:

    codice:
    Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.
    riferito proprio a questa riga di codice:
    codice:
    string loc_addr = myPage.Request.Url.AbsoluteUri;
    boh?? non capisco proprio...
    Qualcuno conosce un metodo alternativo e affidabile per ricavare l'url della pagina lato server?

    Grazie di cuore.
    Lupo
    ----

  2. #2
    Di quale pagina necessiti di conoscere url?
    Sulla richiesta corrente, ti e' sufficiente utilizzare Request.Url.
    Se ho capito male cio' che volevi dire, ti chiedo scusa.
    Nicola Baldi <% Naighes %>
    Il mio blog!

    "Non hai veramente capito qualcosa fino a quando non sei in grado di spiegarlo a tua nonna."

  3. #3
    Sono io che ti ringrazio per la risposta.
    Il problema riguarda proprio la richiesta corrente.

    La questione è un tantinello inkasinata...
    dunque... ho dichiarato, all'interno del progetto, una classe "global_settings" nella quale sono inseriti parametri di configurazione generale.

    ora... all'interno di questa classe, è dichiarata una funzione di accesso, chiamata my_site_root, che restituisce la radice del sito, cioè una roba del tipo http://127.0.0.1/miosito/ se il sito non è pubblicato o http://www.miosito.com se il sito è pubblicato.

    All'interno della funzione c'è, appunto, il frammento di codice incriminato.

    All'interno delle diverse pagine del progetto, quindi, dichiaro una variabile
    codice:
    global_settings mySett = new global_settings();
    , con l'intento di richiamare mySett.my_site_root quando più mi piace e pare.

    Il problema è che a volta la cosa funziona, altre volte, invece, no e mi viene restituito l'errore di cui sopra.

    Il motivo per cui si genera, certe volte, questa eccezione, proprio non riesco a comprenderlo...

    Grazie infinite per l'attenzione.
    Francesco.
    Lupo
    ----

  4. #4
    Fammi capire bene, tu vuoi ottenere l'url della richiesta corrente oppure l'url della tua applicazione?
    Nicola Baldi <% Naighes %>
    Il mio blog!

    "Non hai veramente capito qualcosa fino a quando non sei in grado di spiegarlo a tua nonna."

  5. #5
    richiesta corrente. Se, ad esempio, la mia pagina fosse quella in cui ci troviamo adesso dovrebbe venir fuori:
    http://forum.html.it/forum/newreply....hreadid=915979

    grazie.
    Lupo
    ----

  6. #6
    Potresti far esporre alla classe una proprieta', come segue:

    codice:
    public class global_settings
    {
    	public global_settings() {}
    
    	public string CurrentUrl
    	{
    		get {return System.Web.HttpContext.Current.Request.Url;}
    	}
    
    	// continua...
    }
    E' questo cio' di cui hai bisogno?
    Nicola Baldi <% Naighes %>
    Il mio blog!

    "Non hai veramente capito qualcosa fino a quando non sei in grado di spiegarlo a tua nonna."

  7. #7
    FUNZIONA PERFETTAMENTE!!!!
    SEI UN G R A N D E ! ! ! ! !

    Grazie di cuore,
    Francesco.
    Lupo
    ----

  8. #8
    Figurati, mi fa piacere che tu abbia risolto.
    Nicola Baldi <% Naighes %>
    Il mio blog!

    "Non hai veramente capito qualcosa fino a quando non sei in grado di spiegarlo a tua nonna."

  9. #9
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    prova questo scoprirai delle cosette interessanti

    Dim loop1, loop2 As Integer
    Dim arr1(), arr2() As String
    Dim coll As NameValueCollection

    ' Load ServerVariable collection into NameValueCollection object.
    coll=Request.ServerVariables
    ' Get names of all keys into a string array.
    arr1 = coll.AllKeys
    For loop1 = 0 To arr1.GetUpperBound(0)
    Response.Write("Key: " & arr1(loop1) & "
    ")
    arr2 = coll.GetValues(loop1) ' Get all values under this key.
    For loop2 = 0 To arr2.GetUpperBound(0)
    Response.Write("Value " & CStr(loop2) & ": " & Server.HtmlEncode(arr2(loop2)) & "
    ")
    Next loop2
    Next loop1

  10. #10
    Molto carino!!
    Grazie anche a te!!
    Lupo
    ----

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.