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:Users2714DocumentsVisual Studio 2010ProjectsCertificateCertificateReport.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;
    }    
}

当您捕获网页时,看不到用户在其上键入的任何内容是合乎逻辑的 - 实际上不存在,您只是加载页面,您希望在文本框中看到什么?

如果您出于调试原因尝试获取报告,并且您赢了,以查看问题发生时页面上发生了什么,那么您需要使用一个 javascript 库来构建(尽可能)页面的 dom 并将其发送给您。所有这些操作都要求用户制作它们 - 捕获网页并通过电子邮件发送,即使您可以使其自动化,如果用户喜欢向您展示它们上面有什么类型,他也必须嘲笑。

示例 http://experiments.hertzen.com/jsfeedback/和库 http://html2canvas.hertzen.com/可以捕获用户在屏幕上看到的内容。

相对 : 如何将 HTML 元素转换为画布元素?

最新更新