在Javascript请求中,我添加了两个名称相同但大小写不同的参数
*.setPostDataItem("FluentSearch", scope.search); (abc)
*.setPostDataItem("fluentSearch", scope.search); (abc)
我的服务器端代码控制器->操作将其解析为
string FluentSearch = abc, abc
因此,在服务器参数中,我们有一个字符串参数,由逗号分隔重复值。
我希望服务器应该解析请求并编写不带逗号的请求。
ASP.NET MVC 在哪里以及为什么用逗号预先处理相同的参数两次?是之前的具体动作执行者吗?
据我所知,客户端似乎正在发送两个不同的参数,但服务器将它们视为一个,将它们组合为 csv。
看这个答案 https://stackoverflow.com/a/32127030/1384239
摘录自答案
这东西是否是完全由权威机构决定 区分大小写。
对于 C# 和 IIS,解析查询的后备存储 HttpRequest 对象中的字符串是 System.Collections.Specialized.NameValueCollection 恰好是 不区分大小写(默认情况下)。
现在看看名称值集合它特别指出了
哈希码提供者为密钥中的键分配哈希码 名称值集合。默认的哈希码提供程序是 CaseInsensitiveHashCodeProvider。
所以看来可以改成区分大小写。我没有尝试过。你可以尝试一下。对于查询字符串参数,此行为应该相同。