locked
URL nella barra indirizzi con caratteri speciali RRS feed

  • Domanda

  • Mi capita questo , un utente mi ha segnalato.

     Nella attivazione utente uri passato al Browser     es:www.miosito.it/pagina.aspx?attivazione=nome

    dalla sua macchina i caratteri ? e = sono convertiti in %3f e %3d

    la pagina silverlight mi segnala errore magina non trovata evidentemente i caratteri speciali non li codifica

    come posso convertire l' URI della barra indirizzi  in questo caso

    anche agendo nella pagina aspx di chiamata !!!

    grazie per un idea

    Livio

     

    martedì 13 marzo 2012 17:52

Risposte

Tutte le risposte

  • Prova ad utilizzare i metodi UrlEncode e UrlDecode.

    Marco Minerva [MCPD]
    Blog: http://blogs.ugidotnet.org/marcom
    Twitter: @marcominerva

    martedì 13 marzo 2012 20:29
  • Devo metterli nella pagina aspx ??

    puoi farmi un esempio di utilizzo

    grazie

    Livio (mi salvi la vita sono in produzione)

    martedì 13 marzo 2012 21:27
  • Devo metterli nella pagina aspx ??

    Hai scritto:

    Nella attivazione utente uri passato al Browser es:www.miosito.it/pagina.aspx?attivazione=nome

    Quindi direi quando passi questo valore al browser.


    Marco Minerva [MCPD]
    Blog: http://blogs.ugidotnet.org/marcom
    Twitter: @marcominerva

    martedì 13 marzo 2012 21:35
  • mi è chiaro ma l'utente risponde alla mail di attivazione

    quindi se ho capito bene devo metterlo nella creazione della mail ?

    martedì 13 marzo 2012 21:41
  • Ah, aspetta... Questo dettaglio (che il link fosse in una mail) non lo avevi detto :-)

    Quindi in pratica l'utente nella mail vede i caratteri ? e = convertiti in %3f e %3d? E capita solo a lui? Che programma di posta sta utilizzando? E la mail è in HTML o testo semplice?


    Marco Minerva [MCPD]
    Blog: http://blogs.ugidotnet.org/marcom
    Twitter: @marcominerva

    martedì 13 marzo 2012 21:48
  • il programma suo di posta non lo so... mi ha girato la mail di attivazione e se provo io mi da lo stesso errore che da me nelle prove non mi ha mai segnalato errori

    si vede al posto del (? %3f) e al prosto di (= %3d) silverlight fa casino e da errore pagina non trovata

    la mail di attivazione e creata con

    StringBuilder in html

    altri utenti non hanno avuto problemi

    martedì 13 marzo 2012 21:55
  • Prova ad utilizzare il metodo HttpUtility.UrlEncode passandogli come argomento l'URL a cui deve puntare il collegamento: http://msdn.microsoft.com/en-us/library/system.windows.browser.httputility.urlencode(VS.95).aspx.

    Marco Minerva [MCPD]
    Blog: http://blogs.ugidotnet.org/marcom
    Twitter: @marcominerva

    martedì 13 marzo 2012 22:00
  • ok Posso provare

    nella pagina aspx nella parte load page ho inserito queste istruzioni

    ' Converte caratteri speciali nel URL
      nURL = Request.Url.ToString()
      HttpUtility.UrlEncode(nURL)

    non riesco a recuperare URL completo di parametri la Request.Url.ToString() mi da la parte senza parametri

    non funziona cosi probabile che senza parametri non converta la stringa completa

    grazie

    Livio 

    martedì 13 marzo 2012 22:14
  • non riesco a recuperare URL completo di parametri la Request.Url.ToString() mi da la parte senza parametri

    E i parametri allora quando li aggiungi? Devi usare il metodo UrlEncode quando hai la stringa dell'URL completa.

    Altre due domande: nella mail imposti la proprietà IsBodyHtml a true? E l'URL è un testo "semplice", che viene automaticamente convertito in link dal programma di posta, oppure crei un apposito tag <a href>?


    Marco Minerva [MCPD]
    Blog: http://blogs.ugidotnet.org/marcom
    Twitter: @marcominerva

    martedì 13 marzo 2012 22:18
  • la stinga completa è nella mail con es:www.miosito.it/pagina.aspx?utente=nome

    quando creo la mail uso <a href>

    la stringa completa la vedo sulla parte alta del browser

    ma all'interno della pagina in debug mi da solo la parte principale senza parametri es:www.miosito.it

    martedì 13 marzo 2012 22:29
  • Però scusami, il valore utente=nome da qualche parte dovrai inserirlo, nel momento in cui componi la mail...

    Marco Minerva [MCPD]
    Blog: http://blogs.ugidotnet.org/marcom
    Twitter: @marcominerva

    martedì 13 marzo 2012 22:32
  • si quando creo il form della mail mi passo una varibile con il nome utente e la compongo Utente=variabileutente

    martedì 13 marzo 2012 23:26
  • Allora, se fai questa composizione, alla fine ottieni l'indirizzo completo, ovvero www.miosito.it/pagina.aspx?utente=nome, o sbaglio?

    E' su questo valore completo che devi fare l'UrlEncode.


    Marco Minerva [MCPD]
    Blog: http://blogs.ugidotnet.org/marcom
    Twitter: @marcominerva

    martedì 13 marzo 2012 23:46
  • si e cosi

    mercoledì 14 marzo 2012 00:00
  • OK, allora prova a fare l'UrlEncode su tale valore e verifica cosa succede.

    Marco Minerva [MCPD]
    Blog: http://blogs.ugidotnet.org/marcom
    Twitter: @marcominerva

    • Contrassegnato come risposta Livio Leo sabato 31 marzo 2012 22:45
    mercoledì 14 marzo 2012 00:03