我有一个重定向用户的控制器。我在URL中添加了一个查询字符串,但我注意到浏览器中的最终URL正在解码我的双引号。因此,它在我的网址中显示双引号。有没有办法保持URL编码,所以它显示%22?
return Redirect(Url.Action("Index", "Search") + "?t=%22test%22");
浏览器中的网址显示?t =" test"。任何人都知道为什么会这样吗?我试图对它进行双重编码,但这会产生错误信息。谢谢!
答案 0 :(得分:0)
你可以试试这个
return Redirect(Url.Action("Index", "Search",new {t= "%22test%22" }) );
这将创建URL
,例如%2522test%2522
此处%25
表示%
,因此您可以执行此操作
string str="%2522test%2522" //you will get this from URL
var value= HttpUtility.UrlDecode(HttpUtility.UrlDecode(str));
我使用了HttpUtility.UrlDecode
两次,因为第一次它会给%22test%22
,而第二次解码%22test%22
时会得到"test"
。