2012-09-22 29 views
0

我正在收集網站的screeshot。問題是我有在屏幕上的文本框。當我採取屏幕截圖時,文本框的值不會出現。有人可以指導我重新安排代碼。謝謝asp.net c中的網頁截圖#

protected void Button1_Click(object sender, EventArgs e) 
{ 
    MailMessage msg = new MailMessage(txt_From.Text, txt_To.Text); 
    try 
    { 
     msg.Subject = txt_Subject.Text; 
     msg.Body = "<br /><b>form:</b> " + form1 + "<br /><b>From:</b> " + txt_From.Text + "<br /><b>To:</b> " + txt_To.Text + "<br /><br /><br /><br /><b>Name:</b><hr />" + TextBox1.Text + "<br /> <br /><b>Date:</b><br /><hr /><br />" + TextBox2.Text + "<br /><br />"; 
     msg.IsBodyHtml = true; 
     WebRequest mywebReq; 
     WebResponse mywebResp; 
     StreamReader sr; 
     string strHTML; 
     StreamWriter sw; 

     // Put user code to initialize the page here 

     mywebReq = WebRequest.Create("http://localhost:4101/WebForm2.aspx"); 
     mywebResp = mywebReq.GetResponse(); 
     sr = new StreamReader(mywebResp.GetResponseStream()); 
     //sr = new StreamReader(mywebResp.GetResponseStream(), System.Text.Encoding.ASCII); 
     strHTML = sr.ReadToEnd(); 
     sw = File.CreateText(Server.MapPath("Report.htm")); 
     sw.WriteLine(strHTML); 
     sw.Close(); 
     Response.WriteFile(Server.MapPath("Report.htm")); 

     Attachment objAttachment = new Attachment(@"C:\Users\2714\Documents\Visual Studio 2010\Projects\Certificate\Certificate\Report.htm"); 
     msg.Attachments.Add(objAttachment); 
     System.Net.Mail.SmtpClient objSmtpClient = new SmtpClient("10.238.52.200", 25); 
     objSmtpClient.Send(msg); 
    } 
    catch (Exception ex) 
    { 
     throw ex; 
    }  
} 
+0

你想要做的事端這樣http://slodive.com/inspiration/showcase/50-captivating-horizo​​ntal-websites/? –

+1

爲什麼不將頁面打印爲XPS文件並通過電子郵件發送該文件?這可能是一種可能的方法http://code.msdn.microsoft.com/CSASPNETPrintPartOfPage-afc45915 –

+0

我看到,只有在渲染源文件時纔打印。 –

回答

0

當你的網頁的捕捉是合乎邏輯的看不到任何用戶有其類型 - 事實上是不存在的,你只要把頁面的加載,你希望是什麼在文本框中看到?

如果你試圖獲得一個調試報告的原因,你看到了在問題的時刻頁面上發生了什麼,那麼你需要使用一個JavaScript庫,建立(儘可能)的頁面的dom併發送給你。所有這些操作都要求用戶製作它們 - 捕獲網頁並通過電子郵件發送,即使您可以使其自動化,用戶也必須嘲笑他是否想向您展示什麼類型的內容。

示例http://experiments.hertzen.com/jsfeedback/和庫http://html2canvas.hertzen.com/可以捕獲用戶在屏幕上看到的內容。

相對:How can I convert an HTML element to a canvas element?

+0

iecapt也需要網頁的截圖嗎?我用它,但即使如此,文本框的值沒有得到顯示。 – user1665707

+1

@ user1665707我認爲你不明白答案。您無法從服務器讀取文本框輸入的數據。如果您可以輕鬆竊取任何人隨時進入的所有個人數據。 – Aristos