使用request.url.absoluteuri.replace进行重定向



我正在尝试在我的网站注册后将验证邮件发送给用户。注册页面是Inbimup.aspx位于root/login/.

我可以成功将邮件发送到包含链接的用户,

下面的代码
protected void SendActivationEmail()
{
    string activationCode = Guid.NewGuid().ToString();
using (MailMessage mm = new MailMessage("registration@estoreproj.xyz", tbEmail.Text))
    {
        mm.Subject = "Account Activation";
        string body = "Hello " + tbUname.Text + ",";
        body += "<br /><br />Please click the following link to activate your account";
        body += "<br /><a href = '" + Request.Url.AbsoluteUri.Replace("Signup.aspx", "estoreproj.xyz/login/CS_Activation.aspx?ActivationCode=" + activationCode) + "'>Click here to activate your account.</a>";
        body += "<br /><br />Thanks";
        mm.Body = body;
        mm.IsBodyHtml = true;
        SmtpClient smtp = new SmtpClient();
        smtp.Host = "estoreproj.xyz";
        smtp.EnableSsl = false;
        NetworkCredential NetworkCred = new NetworkCredential("registration@estoreproj.xyz", "mypassword");
        smtp.UseDefaultCredentials = true;
        smtp.Credentials = NetworkCred;
        smtp.Port = 587;
        smtp.Send(mm);
    }
}

但是,当用户单击链接时,它不会重新订立。注意:网站是www.estoreproj.xyz

当用户单击链接时,它应该重定向到root/login/login/

的页面称为cs_activation.aspx

但是用户点击的链接就像

https://cs_activation.apsx/?ActivationCode=some random code/login/Signup.aspx

请帮忙吗?对不起,如果标题错了,我不知道如何构架

如果您知道要a标签转到estoreproj.xyz/login/cs_activation.aspx/?ActivationCode=som‌​e random code

那么,最简单的事情就是将href设置为此。因此,更改此行

body += "<br /><a href = '" + Request.Url.AbsoluteUri.Replace("Signup.aspx", "estoreproj.xyz/login/CS_Activation.aspx?ActivationCode=" + activationCode) + "'>Click here to activate your account.</a>";

 body += "<br /><a href = 'https://estoreproj.xyz/login/cs_activation.aspx/?ActivationCode=som‌​e random code'>Click here to activate your account.</a>";

这可能是确保您指向链接的最简单方法。

最新更新