常规的 .Net 框架在 System.Web Assembly 中包含 HttpUtility.UrlEncode,而在 Silverlight 中,它似乎已移至 System.Windows.Browser。但在 Windows Phone 7(我认为它与 Silverlight 相同)中,我似乎无法找到 UrlEncode 任何内容的正确方法。前面提到的两个程序集在 Windows Phone 7 环境中都不可用。

有帮助吗?

解决方案

Silverlight 具有 Uri.EscapeUriStringUri.EscapeDataString 它可用于对 URI 的部分进行 URL 编码,例如查询字符串和路径组件等。

即使在桌面框架中,您也不应该仅仅为了 HttpUtility 而依赖 System.Web.dll,尽管许多开发人员仍然这样做。这很糟糕,原因有 3 个。

  • 该程序集非常大,加载它可能会给您的应用程序带来显着的延迟。
  • 您将因大约 20 行代码而使流程的工作集变得臃肿。
  • 它使您的应用程序需要完整的框架,因为 System.Web 不在客户端配置文件中。

除了上面描述的Uri转义方法之外,如果你需要HtmlEncode,我就直接撕掉代码 别人写的 并将其放入您的应用程序中。

其他提示

HttpUtility.UrlEncodeHttpUtility.UrlDecode是Windows Phone 7的,他们刚刚搬到

寻找他们在System.Net.HttpUtility组装System.Windows.dll中。

现在它被解决。可以使用:

Windows.Data.Html.HtmlUtilities.ConvertToText("your_html_string");
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top