[Test]
public void Temp()
{
NameValueCollection nvc = System.Web.HttpUtility.ParseQueryString(string.Empty);
nvc.Add("Name", "Mickey Mouse");
Assert.AreEqual("Name=Mickey Mouse", nvc.ToString());
}
在上面的简单测试中,尽管我希望(并希望)结果是“ Name = Mickey Mouse”,但我得到的却是“ Name = Mickey + Mouse”-空格已被+代替。
如何保留原始格式?
我还注意到,在另一个测试中,“:”被替换为“%3a”。
编辑
一些用于评论的进一步信息:
我遇到的问题是,我正在尝试根据问题中的测试用查询字符串构建一个url字符串。我知道,当我通过Postman发布数据时,例如在查询字符串中有空格,表明该API已成功处理了该帖子,并且我一直在尝试获取正在测试的查询字符串生成代码。
答案 0 :(得分:3)
您可以尝试使用HttpUtility.UrlDecode解码的字符串。
将已编码以在URL中传输的字符串转换为已解码的字符串。
System.Web.HttpUtility.UrlDecode(nvc.ToString())
结果
Name=Mickey Mouse