Windows Phone 7 中的 HttpUtility.UrlEncode?
-
24-09-2019 - |
题
常规的 .Net 框架在 System.Web Assembly 中包含 HttpUtility.UrlEncode,而在 Silverlight 中,它似乎已移至 System.Windows.Browser。但在 Windows Phone 7(我认为它与 Silverlight 相同)中,我似乎无法找到 UrlEncode 任何内容的正确方法。前面提到的两个程序集在 Windows Phone 7 环境中都不可用。
解决方案
Silverlight 具有 Uri.EscapeUriString 和 Uri.EscapeDataString 它可用于对 URI 的部分进行 URL 编码,例如查询字符串和路径组件等。
即使在桌面框架中,您也不应该仅仅为了 HttpUtility 而依赖 System.Web.dll,尽管许多开发人员仍然这样做。这很糟糕,原因有 3 个。
- 该程序集非常大,加载它可能会给您的应用程序带来显着的延迟。
- 您将因大约 20 行代码而使流程的工作集变得臃肿。
- 它使您的应用程序需要完整的框架,因为 System.Web 不在客户端配置文件中。
除了上面描述的Uri转义方法之外,如果你需要HtmlEncode,我就直接撕掉代码 别人写的 并将其放入您的应用程序中。
其他提示
HttpUtility.UrlEncode
和HttpUtility.UrlDecode
是Windows Phone 7的,他们刚刚搬到
寻找他们在System.Net.HttpUtility
组装System.Windows.dll中。
现在它被解决。可以使用:
Windows.Data.Html.HtmlUtilities.ConvertToText("your_html_string");
不隶属于 StackOverflow