如何使用C#解码URL参数?
我怎样才能解码使用C#编码的URL参数?
例如,拿这个URL:
my.aspx?val=%2Fxyz2F
Server.UrlDecode(xxxxxxxx)
string decodedUrl = Uri.UnescapeDataString(url)
要么
string decodedUrl = HttpUtility.UrlDecode(url)
一次调用Url不完全解码。 要完全解码,你可以在循环中调用这个方法之一:
private static string DecodeUrlString(string url) { string newUrl; while ((newUrl = Uri.UnescapeDataString(url)) != url) url = newUrl; return newUrl; }
你有没有尝试HttpServerUtility.UrlDecode
或HttpUtility.UrlDecode
?
尝试这个:
string decodedUrl = HttpUtility.UrlDecode("my.aspx?val=%2Fxyz2F");
试试string s = System.Uri.UnescapeDataString(here);
作为解决scheme,我可以build议创build一个扩展方法,可以解码您的URL在某种程度上是这样的:
public static class DecodeString { public static string ToDecodeString(this string x) { if (x.Contains("%2B")) { x = x.Replace("%2B", "+"); } if (x.Contains("%2F")) { x = x.Replace("%2F", "/"); } if (x.Contains("%3D")) { x = x.Replace("%3D", "="); } return x; } }
希望它可以帮助!
- 将FormsAuthentication cookie传递给WCF服务
- 有没有人为ASP.NET MVC实现RadioButtonListFor <T>?
- 如何从Asp.net Mvc-3发送电子邮件?
- 如何在C#中获取当前页面的URL
- DateTime.Parse(“2012-09-30T23:00:00.0000000Z”)总是转换为DateTimeKind.Local
- 有没有办法强制ASP.NET Web API返回纯文本?
- CodeDom提供程序types“Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider”找不到
- .NET中“HttpRequest.RequestType”和“WebRequest.Method”值的常量在哪里?
- entity framework刷新上下文?