-2

我正在开发一个 Web 应用程序,其中我有一个查询表单,并在该表单中生成一个随机数并将其存储在数据库中。我的代码看起来像

 clsInquiry objInquiry = new clsInquiry();
    try
    {   

        cn.Open();

        objInquiry.RandomStr = GetUniqueKey(10);


        MailMessage mail = new MailMessage();
        mail.From = new MailAddress("abc@gmail.com");
        mail.To.Add(txt_eid.Text);

        mail.Body += "Thank u for putting inquiry for " + productName + " ;<br><br>";
        mail.Body += "Please Click on Following Link To Download Your Demo" + "<br><br>";

        mail.Body += "<a href=\"http://www.xyz.co.in/Download.aspx?No='" + GetUniqueKey(10) + "'\">Demo Download</a>";
        //mail.Body += "<a href=\"" + MyUrl + "\">Demo Download</a>";
        SmtpClient smtp = new SmtpClient();
        smtp.Host = "smtp.gmail.com";
        smtp.Port = 587;
        smtp.EnableSsl = true;
        smtp.Credentials = new System.Net.NetworkCredential("abc@gmail.com ", "****");
        smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
        smtp.Send(mail);

    }
    catch (Exception ex)
    {
        ex.ToString();
    }

和随机数的功能.....

public static string GetUniqueKey(int maxSize)
{
   //code for it

}

我已经成功生成并存储在数据库中的号码..

但是在我调用随机数函数发送给用户的那个中,生成了不同的随机数..我想要两个地方的随机数相同。我该怎么办urlhyperlinkmail.body

4

2 回答 2

2

将生成的随机值存储在一个变量中,并在两个地方(objInquiry.RandomStrmail.Body)都使用它

var randomstr = GetUniqueKey(10);
objInquiry.RandomStr = randomstr;
        ...
mail.Body += "<a href=\"http://www.xyz.co.in/Download.aspx?No='" + randomstr + "'\">Demo Download</a>";
于 2013-04-12T12:00:35.887 回答
0

这是因为您调用了两次 GetUniqueKey(10) 方法。它总是会返回给你不同的唯一键。

在变量中获取 GetUniqueKey(10) 方法的输出,并在两个地方使用该变量。

于 2013-04-12T12:04:30.517 回答