在Asp.Net核心Odata,如何防止过滤器字符串替换传递的文本



我正在传递一个odata查询,如下所示

http://localhost:5000/odata/Levels?$filter=contains(Code, '+14')

然而,当它降落在我的控制器中时,我看到收到的过滤器对象被替换为

{contains(Code, ' 14')}

正如您所看到的,+14被替换为14,其中+被替换为一个空格,因此我的查询失败。如何解决此问题?

正如您所看到的,+14正在被替换14,其中+被替换为由于空间,我的查询失败。如何解决此问题?

%2B替换+,然后像这样的odata查询:

http://localhost:5000/odata/Levels?$filter=contains(Code, '%2B14')

这样试试:

http://localhost:5000/odata/Levels?$filter=contains(Code, encodeURIComponent('+14'))

我不知道如何生成其余的URI,但在将其发送到服务器之前,应该用编码的表示形式替换+14

相关内容

  • 没有找到相关文章

最新更新