Ich schrieb einige Codes in deneme.aspx es funktioniert, aber es übergibt nicht die Variablen (Id (levent) und userName (levent)) zu activateUser.aspx. wie kann ich es tun?Wie kann ich meine Werte in E-Mail-Aktivierungslink übergeben?
SmtpClient SmtpServer = new SmtpClient("smtp.live.com");
var mail = new MailMessage();
mail.From = new MailAddress("[email protected]");
mail.To.Add("[email protected]");
mail.Subject = "Test Mail - 1";
mail.IsBodyHtml = true;
string htmlBody;
htmlBody = string.Format("<a href='http://localhost:15534/ActivateUser.aspx?userName{0}&Id={1}'>Activate {0} </a>", "levent", "levent");
mail.Body = htmlBody;
SmtpServer.Port = 587;
SmtpServer.UseDefaultCredentials = false;
SmtpServer.Credentials = new System.Net.NetworkCredential("[email protected]", "mypassword");
SmtpServer.EnableSsl = true;
SmtpServer.Send(mail);
Dann, nach dem Bestätigungslink klicken, Es geht um ActivateUser.aspx dort
protected void Page_Load(object sender, EventArgs e)
{
if (String.IsNullOrEmpty(Request.Params["Id"]))
{
// We do not have the userId. Redirect some where
Response.Redirect("login.aspx");
}
else
{
// We have a userId.
try
{
DBConnection db = new DBConnection();
string username= Request.Params["userName"];
bool res = db.CheckLogin(Request.Params["userName"],Request.Params["Id"]);
if (res)
{
Session["LetLogin"] = "ok";
Session["User_Name"] = Request.Params["userName"];
Response.Redirect("WebForm4.aspx",true);
}
}
catch
{
// Error. Redirect some where
Response.Redirect("login.aspx");
}
}
// We should never reach here. Just in case redirect some where
Response.Redirect("login.aspx", true);
}
Ich würde empfehlen, die E-Mail-Adressen und nur in Junk-Daten setzen – John