¤cy被更改为¤cy= GBP

时间:2019-03-16 21:21:18

标签: asp.net vb.net

我遇到了一个非常奇怪的问题,正在生成的要通过电子邮件发送的查询字符串正在以某种方式更改。

我编写的一个旧应用程序通过数据库中的各种参数创建了一个URL,

dim wpret as string = "<a target=_blank href=""https://.......?instId=" & ID 
& "&amount=" & Server.UrlEncode(amount)
& "&currency=" & Server.UrlEncode(paypalcurr) 
& "&desc=Reservation""">Click here to pay with WorldPay</a>"

...应翻译为:

...&currency = GBP ...

但是,发送到页面的是:

  

¤cy= GBP

因此URL格式不正确,并且&currency更改为¤cy= GBP

这对任何人有意义吗?该URL的其余部分完全正常-受影响的只是&currency。

我也应该提一下,我的电子邮件通过SendGrid转发。

感谢您的见解。

标记

1 个答案:

答案 0 :(得分:2)

您需要将&字符进行HTML编码为&amp;

Dim str = "<a target=""_blank"" href=""https://....?instId=" & ID & "&amp;amount=" & Uri.EscapeDataString(amount) & "&amp;currency=" & Uri.EscapeDataString(paypalcurr) & etc