作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
[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 成功处理了该帖子,并且我一直在尝试获取正在测试的查询字符串生成代码。
最佳答案
你可以尝试使用HttpUtility.UrlDecode解码字符串。
Converts a string that has been encoded for transmission in a URL into a decoded string.
System.Web.HttpUtility.UrlDecode(nvc.ToString())
结果
Name=Mickey Mouse
关于C# NamedValueCollection ToString 替换空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52067019/
[Test] public void Temp() { NameValueCollection nvc = System.Web.HttpUtility.ParseQueryString(st
我是一名优秀的程序员,十分优秀!