Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在没有Asp.Net抱怨的情况下对引号进行编码? 在我的网站上,url路径中的编码引号(%22)导致“路径中的非法字符”错误_Asp.net_Full Text Search_Url Routing_Quotes_Urlencode - Fatal编程技术网

如何在没有Asp.Net抱怨的情况下对引号进行编码? 在我的网站上,url路径中的编码引号(%22)导致“路径中的非法字符”错误

如何在没有Asp.Net抱怨的情况下对引号进行编码? 在我的网站上,url路径中的编码引号(%22)导致“路径中的非法字符”错误,asp.net,full-text-search,url-routing,quotes,urlencode,Asp.net,Full Text Search,Url Routing,Quotes,Urlencode,我希望指定如下搜索URL: www.site.com/search/%22维生素+C%22 %22是一个编码的引号“” 我使用的是Asp.Net URL路由,路由的指定方式如下:“search/{searchTerm}” 当检索和解码上下文[“searchTerm”]时,将导致上面的示例为:“Vitamin+C”[包括引号] 似乎Asp.Net认为URL中存在非法字符。我不明白为什么,当我对文本进行URL编码时 如何在没有Asp.Net抱怨的情况下对引号进行编码?许多人会使用引号将单词分组在一起

我希望指定如下搜索URL:

www.site.com/search/%22维生素+C%22

%22是一个编码的引号“”

我使用的是Asp.Net URL路由,路由的指定方式如下:“search/{searchTerm}”

当检索和解码
上下文[“searchTerm”]
时,将导致上面的示例为:“Vitamin+C”[包括引号]

似乎Asp.Net认为URL中存在非法字符。我不明白为什么,当我对文本进行URL编码时


如何在没有Asp.Net抱怨的情况下对引号进行编码?许多人会使用引号将单词分组在一起,我想允许对自由形式的搜索词进行这种“智能搜索”

,您应该使用QueryString参数而不是URL块。如果您有结构化搜索(名称符合有效URL要求或按邮政编码搜索的有限类别列表)然后您可以使用您正在使用的URL结构,而不会出现任何问题。您可以编码并在querystring参数中输入您想要的任何内容,包括引号。

查看

您是否收到“潜在危险的请求?”“错误或其他什么?不。这实际上是一个“路径中的非法字符”错误。我发现的解决方案是将我的搜索结果转换为查询字符串。因此,URL看起来像www.site.com/search/results?q=%22维生素+C%22是的,我使用的是该方法。这就是为什么我感到困惑。因为我使用的是路由,ASP.Net不喜欢它。”路径中的“引号”。谢谢!我在这里找到了一个实现搜索的示例: