我想要自杀。 我不明白为什么当我在电子邮件中发送QR(有2个参数)时,我生成了2个不同的链接:
使用<a> </a>
:
string body = "<b>QR code: </b><br/>" + "<a href=\"" + resetLink + "\">" + "Click here" + "</a>";
生成:http:/site.com/Account/Validate/?param1 = xxx%26param2 = yyy
没关系。
并使用<img />
:
string body = "<b>QR code: </b><br/>" + "<img src='" + resetLink + "' />";
生成:http://site.com/Account/Validate/?param1=xxx
我的第二个参数在哪里?
ResetLink:
string resetLink = "http://chart.apis.google.com/chart?cht=qr&chs=300x300&chl=http://site.com/Account/Validate/?param1=" + model.UserName + "%26param2=" + model.Token;
我使用ASP .NET Mvc4 / Razor。
答案 0 :(得分:0)
也许邮箱会跳过最后一个参数,有时很难预测(gmail会改变HTML)。
我认为您应该对整个网址进行网址编码,因为字符?
可能是导致问题的原因。
这将是
string resetLink = "http://chart.apis.google.com/chart?cht=qr&chs=300x300&chl=
http%3A%2F%2Fsite.com%2FAccount%2FValidate%2F%3Fparam1%3D" + model.UserName + "%26param%3D" + model.Token
我还在用你的真实角色编码的chl之前替换了&符号。