我正在尝试通过url GET参数将字符串传递给我的MVC控制器。但问题是每当我的字符串中出现任何"&"它只是从那里跳过文本。我找到的原因是在http get"&"保留用于定义新参数。有没有办法顺利传递字符串?
http://localhost:60617/CategoryResearch/Result?page=1&keywords=Baby 安全与安全健康
示例字符串是:" Baby Safety&健康"
答案 0 :(得分:2)
你必须发送&编码如下:
http://localhost:60617/CategoryResearch/Result?page=1&keywords=Baby安全%26健康
在这里,您可以完整地参考如何编码特殊字符:
答案 1 :(得分:1)
如评论中所述,您需要在发送之前对字符串进行UrlEncode。看看HttpUtility.UrlEncode。
string keyWords = HttpUtility.UrlEncode("Baby Safety & Health");
答案 2 :(得分:1)
当您的浏览器分析网址时,&符号是众多具有特殊含义的字符之一。您可以从wiki page了解有关此内容的更多信息。
要在URL中使用这些字符,必须对URL进行编码。在C#中,您可以使用UrlEncode生成编码的URL字符串。
答案 3 :(得分:-2)
是;那是对的。 放置参数时需要使用JSON.stringify。它将编码“&”和其他特殊字符。例如,
data: {
emp_id: JSON.stringify(emp_id)
},