【问题标题】:Why does razor produce incorrect results with Server.UrlEncode?为什么 razor 使用 Server.UrlEncode 产生不正确的结果?
【发布时间】:2016-03-04 14:53:17
【问题描述】:

我有以下字符串LIVEWIRE TS+

当我执行以下代码时:

  <a href="/support/knowledge-base?category=@Server.UrlEncode("LIVEWIRE TS+")" class="topic-knowledge-base button">KNOWLEDGE BASE</a>

它产生以下查询字符串:

LIVEWIRE+TS%2b

我认为编码时空格是%20

好的,解码后我返回了LIVEWIRE TS,但没有返回LIVEWIRE TS+。如何保留 + 号?

【问题讨论】:

  • + 是空格键,%20 是加号。
  • 编码时没有空格是“+”,如果你愿意,可以在这里查看url-encode-decode.com
  • @Sousuke - 当我解码值时,我丢失了 + 号,我需要保留它。
  • + 用于编码空格的事实与您的问题无关,您的结果表明该部分已正确解码。正如一个答案已经显示的那样,完整的字符串LIVEWIRE+TS%2b 应该解码为LIVEWIRE TS+。你能展示你正在解码的代码吗?

标签: c# asp.net-mvc urlencode


【解决方案1】:

要解码它以获得相同的字符串,您必须使用以下代码:

System.Net.WebUtility.UrlDecode("LIVEWIRE+TS%2b");

它会返回LIVEWIRE TS+

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-22
    • 2019-02-04
    • 1970-01-01
    • 2020-12-14
    • 2015-10-12
    • 2015-01-06
    • 2019-08-12
    • 1970-01-01
    相关资源
    最近更新 更多