如何在没有Asp.Net抱怨的情况下对引号进行编码? 在我的网站上,url路径中的编码引号(%22)导致“路径中的非法字符”错误
我希望指定如下搜索URL: www.site.com/search/%22维生素+C%22 %22是一个编码的引号“” 我使用的是Asp.Net URL路由,路由的指定方式如下:“search/{searchTerm}” 当检索和解码如何在没有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抱怨的情况下对引号进行编码?许多人会使用引号将单词分组在一起
上下文[“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不喜欢它。”路径中的“引号”。谢谢!我在这里找到了一个实现搜索的示例: