I want to send aspx page via email. So i converted it into pdf. The problrm is the pdf is getting created before the data is saved. So when i open the pdf my testboxes are empty. Please find me a solution. Below is the code am using. Also i want to send the pdf file as attachment.
protected void SendMail() {
var userName = "anusha-4.n-4@cognizant.com";
var toAddress = YourEmail.Text.ToString();
const string Password = "Mypassword123#";
string subject = YourSubject.Text.ToString();
string body = "From: " + YourName.Text + "\n";
body += "Email: " + YourEmail.Text + "\n";
body += "Subject: " + YourSubject.Text + "\n";
body += "Question: \n" + Comments.Text + "\n";
var smtp = new System.Net.Mail.SmtpClient(); {
smtp.Host = "10.238.52.200"; smtp.Port = 25;
smtp.EnableSsl = false;
smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
smtp.Credentials = new NetworkCredential(userName, Password);
smtp.Timeout = 20000; }
smtp.Send(userName, toAddress, subject, body); }
protected void Button1_Click(object sender, EventArgs e) {
Response.ContentType = "application/pdf";
Response.AddHeader("content-disposition", "attachment;filename=TestPage.pdf");
Response.Cache.SetCacheability(HttpCacheability.NoCache);
StringWriter sw = new StringWriter(); HtmlTextWriter hw = new HtmlTextWriter(sw);
this.Page.RenderControl(hw);
StringReader sr = new StringReader(sw.ToString());
Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 100f, 0f);
HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
PdfWriter.GetInstance(pdfDoc, Response.OutputStream);
pdfDoc.Open(); htmlparser.Parse(sr);
Response.Write(pdfDoc); try {
SendMail();
DisplayMessage.Text = "Your Comments after sending the mail";
DisplayMessage.Visible = true;
YourSubject.Text = ""; YourEmail.Text = "";
YourName.Text = ""; Comments.Text = "";
pdfDoc.Close(); Response.End(); }
catch (Exception) { } } } }