c# - 加号登录查询参数变为空字符串(ASP.NET Core)

标签 c# asp.net-core

在我的应用程序中,我想添加这样的排序:' https://example.com/entity?sort_by=+property '.

当我尝试将加号传递给查询时,ASP.NET Core 返回没有加号的“属性”。 我该如何解决这个问题?

最佳答案

根据RFC3986,加号是保留字符这是 URI 的标准规范,它用于表示空格,因此,如果您想在 URL 中将它用作字面上的“+”字符而不是空格,则需要对其进行编码,使其看起来像:

https://example.com/entity?sort_by=%2Bproperty

在 ASP.NET Core 中,您可以按如下方式编码/解码 URL:

using System.Net;

string url = "https://example.com/entity?sort_by=+property";

string encodedUrl = WebUtility.UrlEncode(url);
string decodedUrl = WebUtility.UrlEncode(encodedUrl);

参见 here有关 URL 编码的更多信息。

关于c# - 加号登录查询参数变为空字符串(ASP.NET Core),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57934861/

相关文章:

iis-7.5 - 使用虚拟目录/应用程序在 IIS 中托管 ASP.NET 5 WebAPI

c# - 整洁架构和 Asp.Net 核心标识

c# - Asp.Net Core v1.1 从同一解决方案中的另一个项目获取继承的类名

ASP.NET VNext 类库 System.Runtime.Serialization

c# - 如何使用 MsBuild 以编程方式停止或启动 IIS(6.0 和 7.0)中的网站?

c# - LINQ+Lambda 与标准索引器+foreach - 即使 MS 和 Lippert 也说索引器更好。那么在这种情况下呢?

c# - 是否可以在 web.config 中针对每个 Controller 设置用户授权? (不能使用AuthorizeAttribute)

c# - 文本文件中 C# 中的 StreamWriter 限制

c# - 为什么 Task.Factory.StartNew() 需要使用 CancellationToken 重载?

c# - 如何在同一个项目中针对netcoreapp2.0和net461