Screenshot of webpage in asp.net c#

天大地大妈咪最大 提交于 2019-12-25 02:24:32

问题


I am getting the screeshot of the website. The problem is i have textboxes on the screen. When i take screen shot the values of textboxes are not appearing. Can someone guide me in rearranging the code. Thank you

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;
    }    
}

回答1:


When you make a capture of the web page is logical to not see anything that the user have type on it - Actually is not exist, you just make a load of the page, what you expect to see on text boxes ?

If you try to get a report for debug reasons and you won to see what happens on the page at the moment of the issue then you need to use a javascript library that build (as he can) the dom of the page and send it to you. All this actions request the user to make them - to capture the web page and send it with email, even if you can make it automate, the user must deride if he like to show you what have type on them.

An example http://experiments.hertzen.com/jsfeedback/ and the library http://html2canvas.hertzen.com/ that can capture what the user see on screen.

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



来源:https://stackoverflow.com/questions/12541780/screenshot-of-webpage-in-asp-net-c-sharp

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!