Windows Phone 7的HttpUtility.UrlEncode?

常规的.Net框架包含System.Web程序集中的HttpUtility.UrlEncode,在Silverlight中它看起来被移到了System.Windows.Browser。 但在Windows Phone 7(我认为是Silverlight相同)我似乎无法find正确的方式UrlEncode任何东西。 在Windows Phone 7环境中,前面提到的程序集都不可用。

Silverlight具有Uri.EscapeUriString和Uri.EscapeDataString ,可用于对URI的部分(如查询string和path组件等)进行URL编码。

即使在桌面框架中,您也不应该仅仅依赖于System.Web.dll来处理HttpUtility,尽pipe许多开发者仍然这样做。 这有三个原因是不好的。

  • 程序集非常大,加载时会给应用程序增加很多延迟。
  • 你将会为20行代码膨胀你的进程的工作集。
  • 它使得您的应用程序需要完整的框架,因为System.Web不在客户端configuration文件中。

除了上面描述的Uri转义方法之外,如果你需要HtmlEncode,我只需要把其他人编写的代码从你的应用程序中删除掉。

HttpUtility.UrlEncodeHttpUtility.UrlDecode在Windows Phone 7中,他们刚刚被移动。

在System.Windows.dll的System.Net.HttpUtility中查找它们。

现在解决了。 您可以使用 :

 Windows.Data.Html.HtmlUtilities.ConvertToText("your_html_string");