单击 link 后,url 中未显示激活码

Activation code is not displaying in url after click on the link

我正在使用电子邮件发送 link 创建密码,但是在电子邮件中发送 link 时我附上了我的激活码也可以显示 link 但它没有显示当我点击 link 虽然在调试中我得到了 link 和激活码。下面是我在正文部分

添加 link 的代码
body+=@"<br /><a href='http://localhost:49234/Index.aspx?ActivationCode='"+objUserDetailsBE.ActivationCode+"'>Create a login to account</a>";

单击 link 后,我在浏览器中只能看到 http://localhost:49234/Index.aspx?ActivationCode= 请让我知道我哪里做错了。 根据评论添加代码:

string emailAddress = txtEmailAddress.Text;
string subject = "Login Credentials For Nth Star";
string body = string.Format("Hello,");                        
body+=@"<br /><a href='http://localhost:49234/Index.aspx?ActivationCode='"+objUserDetailsBE.ActivationCode+"'>Create a login to account</a>";
Email.SendMail(objemail, emailAddress, subject, body, "");

下面是我的'SendMail'方法

public static bool SendMail(EmailConfigurationBE objEmailConfig, string toEmailAddresses, string subject, string body, string mailAttachments)
    {
        char[] splitter = { ';' };
        MailMessage mailMessage = new MailMessage();
        mailMessage.From = new MailAddress(objEmailConfig.Email);
        mailMessage.Subject = subject;
        mailMessage.Body = body;
        mailMessage.IsBodyHtml = true;
        mailMessage.Priority = MailPriority.High;
        string[] multi = toEmailAddresses.Split(';');
        string[] multipath = mailAttachments.Split(';');
        foreach (string MultiemailId in multi)
        {
            mailMessage.To.Add(new MailAddress(MultiemailId));
        }
        if (mailMessage.To.Count > 0)
        {
            //Adding Multiple Attachments
            if (mailAttachments != "")
            {
                foreach (string Multipath1 in multipath)
                {
                    Attachment attachFile = new Attachment(Multipath1);
                    mailMessage.Attachments.Add(attachFile);
                }

            }
            SmtpClient smtpClient = new SmtpClient();
            try
            {
                smtpClient.Host = objEmailConfig.SMTPServer;
                smtpClient.EnableSsl = EnableSsl;
                System.Net.NetworkCredential NetworkCred = new System.Net.NetworkCredential();
                NetworkCred.UserName = objEmailConfig.Email;
                NetworkCred.Password =objEmailConfig.Password;
                smtpClient.UseDefaultCredentials = true;
                smtpClient.Credentials = NetworkCred;
                smtpClient.Port =Convert.ToInt32(objEmailConfig.PortNumber);
                smtpClient.Send(mailMessage);
                return true;
            }
            catch
            {

                mailMessage = null;
                smtpClient = null;
                return false;
            }
        }
        else
        {
            return false;
        }
    }

看起来像一个简单的引用问题。看

<a href='http://localhost:49234/Index.aspx?ActivationCode='"+objUserDetailsBE.ActivationCode+"'

这里有一个单引号在 http 之前,另一个在 ActivationCode= 之后,第三个在最后。看起来有一个是多余的,这会破坏您的标记。

正确版本:

body+=@"<br /><a href='http://localhost:49234/Index.aspx?ActivationCode="+objUserDetailsBE.ActivationCode+"'>Create a login to account</a>";

我所做的唯一更改是删除 ActivationCode= 之后的单引号。

还要确保活动代码不包含引号或 <> 等符号,它们也会破坏标记。