HttpContext.Current.Server.UrlEncode
.NET Frameworkでのみ機能します。ASP.NET CoreプロジェクトでURI引数をエンコードまたはデコードするにはどうすればよいですか?
HttpContext.Currentが、HttpContextネットコアの一部です- Microsoft.AspNetCore.Http.HttpContext。このことを覚えておいてください
                HttpContext.Current.Server.UrlEncode
.NET Frameworkでのみ機能します。ASP.NET CoreプロジェクトでURI引数をエンコードまたはデコードするにはどうすればよいですか?
HttpContext.Currentが、HttpContextネットコアの一部です- Microsoft.AspNetCore.Http.HttpContext。このことを覚えておいてください
                回答:
ASP.NET Core 2.0+の場合は、System.Net名前空間を追加するだけです- WebUtilityクラスはSystem.Runtime.Extensions、ASP.NET Coreプロジェクトでデフォルトで参照されるnugetパッケージの一部として出荷されます。
以前のバージョンの場合は、Microsoft.AspNetCore.WebUtilitiesnugetパッケージを追加します。
その後、WebUtilityクラスが利用可能になります:
public static class WebUtility
{
    public static string UrlDecode(string encodedValue);
    public static string UrlEncode(string value);
}
              それは上の利用可能です。ネットコアSDKのバージョン2.0.0には、System.Net.WebUtility.UrlEncode(ドキュメントを参照してください)
System.Net.WebUtility.UrlEncode:スペースは+。以前Uri.EscapeDataStringはでエンコードしていました%20。
                    あなたの時間を無駄にしないでください、私はこれらのいわゆるurlエンコーダーで多くの経験を持っています。それらはすべて役に立たず、異なる癖があります。たとえば、WebUtility.UrlEncodeは「+」記号を処理しません。
URLパラメータをエンコードする場合は、BASE58エンコードを使用します。アルファベット+数字のみを使用するため、URLエンコードする必要はありません。
WebUtility.UrlEncode、プラス記号( "+")が "%2B"に見事に変換されました。.NET Core 3.1を使用しています。
                    私はリダイレクトを使用していますが、UrlEncodeはURL全体をエンコードするため機能しませんでした。代わりに、次に示すUriHelper.Encodeを使用してこれを解決しました。
// generate url string...
return Redirect(Microsoft.AspNetCore.Http.Extensions.UriHelper.Encode(new System.Uri(url)));