Hi all,

I hav an application running in ASP.Net using VB. I hav two textboxes which carries user's input and a button. On Click of this button, the values in the textboxes will be added and be displayed in a label in a new window. I hav declared a variable to carry the result and display it in the label. Now, in the new window i hav a button to email the page content and the result label which is in a panel. I'm using the below code to email the new window content.

Protected Sub Button3_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button3.Click

Dim SB As New StringBuilder()
Dim sw As New StringWriter(SB)
Dim htmlTW As New HtmlTextWriter(sw)
Label1.RenderControl(htmlTW)

Dim printlabel As String = SB.ToString()

'create the mail message
Dim mail As New MailMessage()

'set the addresses
mail.From = New MailAddress("mysathia@streamyx.com")
mail.To.Add("sathia.m@dotw.com")
mail.IsBodyHtml = True

'set the content
mail.Subject = "Test Message"
mail.Body = printlabel

'send the message
Dim smtp As New SmtpClient("smtp.tm.net.my")
smtp.Send(mail)
Response.Write("Message Sent")
End Sub

Query: When I email the new window, i can only get the result label displayed. I want the result label to be displayed with the panel. Can anyone help me on this.

Hi.

Try exchanging Label1.RenderControl(htmlTW) with Page.RenderControl(htmlTW) .
This will give you the entire page including all controls.

Or, you can put the code inside a <div> tag like this:

<div id="divPanel" runat="server">
<your code>
</div>

And then use divPanel.RenderControl(htmlTW) .

This article has been dead for over six months. Start a new discussion instead.