Domanda

Uso HttpUtility.UrlEncode per codificare qualsiasi valore utilizzato in una route.

Ho già risolto un problema con la codifica delle barre. Il nuovo problema che ho ora è con gli spazi. Uno spazio è codificato come +.

Funziona sul VS Webserver integrato, ma ho un problema con IIS7 su Windows Server 2008. Se ho l'URL http://localhost/Home/About/asdas+sdasd

Ricevo l'errore 404.11 - La richiesta contiene una doppia sequenza di escape.

So di poter semplicemente sostituire lo spazio con "% 20 " ;, ma non voglio preoccuparmi della codifica del propper. Esiste un UrlEncoder pronto per l'uso per MVC là fuori?

È stato utile?

Soluzione

'' codificato in% 20 usa HttpUtility.UrlPathEncode .

Altri suggerimenti

Qualsiasi codifica URL è molto spesso progettata per funzionare sul componente path dell'url, il motivo perché diversi schemi hanno caratteri diversi nell'elenco sicuro. Cerca le tue librerie urlencoder e usale nel percorso e sopra la porzione dell'url.

@HttpUtility.UrlPathEncode(path)

UrlPathEncode codifica semplicemente il percorso dell'URL, anziché codificare l'intero URL.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top