我遇到了一个非常奇怪的问题,正在生成的要通过电子邮件发送的查询字符串正在以某种方式更改。
我编写的一个旧应用程序通过数据库中的各种参数创建了一个URL,
dim wpret as string = "<a target=_blank href=""https://.......?instId=" & ID
& "&amount=" & Server.UrlEncode(amount)
& "¤cy=" & Server.UrlEncode(paypalcurr)
& "&desc=Reservation""">Click here to pay with WorldPay</a>"
...应翻译为:
...&currency = GBP ...
但是,发送到页面的是:
¤cy= GBP
因此URL格式不正确,并且&currency更改为¤cy= GBP
这对任何人有意义吗?该URL的其余部分完全正常-受影响的只是&currency。
我也应该提一下,我的电子邮件通过SendGrid转发。
感谢您的见解。
标记
答案 0 :(得分:2)
您需要将&
字符进行HTML编码为&
。
Dim str = "<a target=""_blank"" href=""https://....?instId=" & ID & "&amount=" & Uri.EscapeDataString(amount) & "&currency=" & Uri.EscapeDataString(paypalcurr) & etc