¿Cómo decodifico un parámetro de URL usando C #?

¿Cómo puedo decodificar un parámetro URL codificado usando C #?

Por ejemplo, toma esta URL:

my.aspx?val=%2Fxyz2F 

 Server.UrlDecode(xxxxxxxx) 
 string decodedUrl = Uri.UnescapeDataString(url) 

o

 string decodedUrl = HttpUtility.UrlDecode(url) 

La URL no está decodificada por completo con una llamada. Para decodificar completamente puede llamar a uno de estos métodos en un bucle:

 private static string DecodeUrlString(string url) { string newUrl; while ((newUrl = Uri.UnescapeDataString(url)) != url) url = newUrl; return newUrl; } 

¿Has probado HttpServerUtility.UrlDecode o HttpUtility.UrlDecode ?

Prueba esto:

 string decodedUrl = HttpUtility.UrlDecode("my.aspx?val=%2Fxyz2F"); 

Pruebe string s = System.Uri.UnescapeDataString(here);