1

我想解码 URL 中的查询参数。我将查询参数值传递为

 "somevalue%"

但是当我获取参数的值时,它显示为

"somevalue%25"

我只想将值设为“somevalue%”。目前我正在使用 Replace ,但我想要一些解码方法。

谢谢。

4

1 回答 1

2

您可以System.Net.WebUtility.UrlDecode为此使用:

    <trace source="original">
        <message>@(context.Request.Url.Query.GetValueOrDefault("parm"))</message>
    </trace>
    <trace source="converted">
        <message>@(System.Net.WebUtility.UrlDecode(context.Request.Url.Query.GetValueOrDefault("parm")))</message>
    </trace>

在跟踪中,您会看到如下结果:

trace (0 ms)
{
    "message": "Expression was successfully evaluated.",
    "expression": "context.Request.Url.Query.GetValueOrDefault(\"parm\")",
    "value": "somevalue%25"
}
original (0 ms)
"somevalue%25"

trace (3 ms)
{
    "message": "Expression was successfully evaluated.",
    "expression": "System.Net.WebUtility.UrlDecode(context.Request.Url.Query.GetValueOrDefault(\"parm\"))",
    "value": "somevalue%"
}
converted (0 ms)
"somevalue%"
于 2020-08-09T05:20:37.957 回答