Asp.net mvc 为什么不使用asp.net web api将请求url中的plus(++)字符串发送到服务器

Asp.net mvc 为什么不使用asp.net web api将请求url中的plus(++)字符串发送到服务器,asp.net-mvc,asp.net-web-api,Asp.net Mvc,Asp.net Web Api,我有两份申请。coreproject和clientproject。 我将字符串文本从clinetproject发送到coreproject。我只有一个问题要发送plus+字符到coreproject。例如,我对coreproject的请求url为Request={Method:GET,RequestUri:,版本:1.1,内容:System.Web.Http.WebHost.HttpControllerHandler+LazyStreamContent,标题: { 接受:application/

我有两份申请。coreproject和clientproject。 我将字符串文本从clinetproject发送到coreproject。我只有一个问题要发送plus+字符到coreproject。例如,我对coreproject的请求url为Request={Method:GET,RequestUri:,版本:1.1,内容:System.Web.Http.WebHost.HttpControllerHandler+LazyStreamContent,标题: { 接受:application/json 主机:本地主机:

但是我的actionContext.ModelState.IsValid为false
clinet project中我的字符串文本为+++,但它已接收到coreproject并更改为和model。isvalid为false?为什么?

在查询部分加号平均空间中。如果要发送加号,则必须使用%2b对其进行编码

因此,现在您的RequestUri应该如下所示:

http://localhost:whateever/api/v1/Search/Search?Query=%2b%2b%2b%2b%2b%2b&PageNumber=1&PageSize=5', 

因为+字符需要百分比编码才能不被解释为空格,请尝试搜索。谢谢CodeCaster.work For me.ThnxThanxThank.Sousuke。这对我来说很有用。没问题,因此在这种情况下,您可以将其标记为answear: