System.Web.HttpUtility.UrlEncode / UrlDecode ASP.NET 5的替换

时间:2015-09-07 08:40:02

标签: c# asp.net asp.net-mvc asp.net-core asp.net-core-mvc

我想知道是否有System.Web.HttpUtility.UrlEncodeUrlDecode的替代品。

正如我在Encode找到的那样,它应该是:Microsoft.Framework.WebEncoders.UrlEncoder.Default.UrlEncode

但我没有找到UrlDecode。有吗?

1 个答案:

答案 0 :(得分:114)

System.Runtime.Extensions定义了UrlDecodeHtmlDecode

namespace System.Net
{
    public static partial class WebUtility
    {
        public static string HtmlDecode(string value) { return default(string); }
        public static string HtmlEncode(string value) { return default(string); }
        public static string UrlDecode(string encodedValue) { return default(string); }
        public static byte[] UrlDecodeToBytes(byte[] encodedValue, int offset, int count) { return default(byte[]); }
        public static string UrlEncode(string value) { return default(string); }
        public static byte[] UrlEncodeToBytes(byte[] value, int offset, int count) { return default(byte[]); }
    }
}

更新

虽然System.Runtime.Extensions定义了扩展程序,但您可以从其代码中注意到您需要调用的实际类是System.Net.WebUtility

选项1 System.Net.WebUtility

目前,没有公开计划在Decode中加入Microsoft.Framework.WebEncoders

<强>用法

System.Net.WebUtility.UrlEncode(myString)
System.Net.WebUtility.UrlDecode(myString)

选项2 System.Text.Encodings.Web.UrlEncoder

这是在asp.net核心服务容器中注册的,可以注入您的控制器等。