UrlEncode的Silverlight版本在哪里?我似乎找不到HttpUtility或任何类似的东西。
发布于 2012-01-25 09:06:13
请改用Uri.EscapeUriString
here是MSDN文档。
发布于 2012-01-25 17:42:49
1) Silverlight 3+上的HttpUtility is supported。不过,它在System.Windows.Browser中,而不是在缺少的System.Web名称空间中。但是,目前在WP7中不支持它。
2)前面提到的Url编码的一个不可取的选项是使用Uri.EscapeUriString.请注意,对于某些特殊字符,例如空格和'+‘符号,Uri.EscapeUriString的结果与HttpUtility.UrlEncode不同。所以它们在功能上是不等价的。由于一些浏览器或when服务器可能对这些更改很敏感,因此我温和地建议您避免将Uri.EscapeUriString用于任何非和解用途(当您不拥有客户端<->服务器会话的两端时)。
使用Uri.EscapeUriString还会增加意外使用Uri.UnescapeDataString的风险,是所有暴行之母。有关原因以及HttpUtility和Uri助手方法之间其他差异的更多详细信息,请参阅ASP.Net团队2006年的这篇文章:
3)我建议的解决方案是从Mono复制HttpUtility,这也是我在WP7应用程序中成功使用的解决方案。这是基于两年前的Josh's suggestion,在编写顶级WP7应用程序方面为我提供了很好的服务。
https://stackoverflow.com/questions/8996578
复制相似问题