Potrzebuję przekierować do adresu URL przekazującego parametr jako ciąg zapytania.Ampersand URLEncode ASP.Net do użycia w łańcuchu zapytań
Może to być Ampersand w wartości. takich jak
string value = "This & That";
Response.Redirect("http://www.example.com/?Value=" + Server.UrlEncode(value));
to jednak zwraca http://www.example.com/?Value=This+&+That
Co należy używać do kodowania ten ciąg?
EDYCJA: Dzięki Luke za wskazanie oczywiste, kod rzeczywiście działa poprawnie. Przepraszam, moje pytanie nie było jednak poprawnym pytaniem!
Strona, którą miałem zamiar mieć dużo starego kodu, który najwyraźniej robi coś w rodzaju kodowania i dekodowania, sprawiając wrażenie, że mój kod urlenowy nie działa.
Moje rozwiązanie polega niestety na całkowitym zaprzestaniu korzystania z &, dopóki dany kod nie zostanie ponownie napisany. Nie po prostu nienawidzisz starego kodu!
Masz całkowitą rację! Strona, z której korzystałem, miała dużo starego kodu, który w pewnym sensie wykonuje jakieś kodowanie i dekodowanie, sprawiając wrażenie, że mój kod URL nie działa. Działa to poprawnie .. tak jak powinno !! –
W sytuacjach, gdy nie masz zmiennej Server, możesz również uzyskać dostęp do metod urlencode/urldecode przez System.Web.HttpUtility –
Uwaga dla innych osób odwiedzających tę stronę; jeśli nie znajdujesz się w aplikacji ASP (a więc nie masz dostępu do 'Server'), możesz użyć' System.Web.HttpUtility.UrlEncode'. –