2009-10-30 10 views
10

Używam HttpUtility.UrlEncode do kodowania dowolnej wartości używanej w trasie.Prawidłowo kodowany znak przestrzeni adresowej

Rozwiązałem już problem z kodowaniem ukośników do przodu. Nowym problemem, jaki mam teraz, są spacje. Spacja jest zakodowana jako +.

Działa to na VS zintegrowany serwer sieciowy, ale mam problem z nim w IIS7 na Windows Server 2008. Jeśli mam URL http://localhost/Home/About/asdas+sdasd

pojawia się błąd 404,11 - Wniosek zawiera podwójną sekwencję ucieczki.

Wiem, że mogę po prostu zastąpić przestrzeń "% 20", ale nie chcę dbać o kodowanie samemu sobie. Czy jest tam jakikolwiek gotowy do użycia UrlEncoder dla MVC?

Odpowiedz

19

'' zakodowane do% 20 użyj HttpUtility.UrlPathEncode.

+3

Ale kod UrlPathEncode nie koduje & –

0

Każde kodowanie adresu URL to najczęściej Przeznaczone do pracy z komponentem ścieżki adresu URL, ponieważ różne schematy mają różne znaki na bezpiecznej liście. Poszukaj swojego urlencodera bibliotek i po prostu użyj go w ścieżce i powyżej części adresu URL.

0
@HttpUtility.UrlPathEncode(path) 

UrlPathEncode tylko koduje ścieżkę URL, zamiast kodowania cały URL.

Powiązane problemy