首页 > 解决方案 > 带有 # 特殊字符的输入参数的 ASP .Net“获取”Web API 控制器 URL 不起作用

问题描述

让控制器接受用户名和密码参数。如果密码有 # 特殊字符,则它不起作用,但它适用于其他特殊字符(!$@..)。在邮递员中,# 被替换为 %23。

网址:https://localhost:8003/api/EmpInfoTest?userName=Afzal&userPwd=Afzal#123

public  class EmpInfoTestController : ApiController
    {
 public string Get(string userName, string userPwd)
        {

     //line1
     //line2
     //return
}
}

互联网上使用 Server.UrlEncode(url) 的解决方案。

让我知道如何以及在何处使用 urlEncode。

谢谢,阿夫扎尔。

标签: asp.netasp.net-coreasp.net-web-api

解决方案


浏览器不会传递#字符。

通过测试,向服务器发送请求,发现#参数和后面的字符在后端方法中是不可用的。

所以结论是发送请求时应该处理urlencode。

我的示例代码(我使用 ajax):

在此处输入图像描述

在此处输入图像描述

我的测试结果:

在此处输入图像描述


推荐阅读