| |||
Respuesta: Gridview por Correo Checa los siguientes enlaces: http://stackoverflow.com/questions/1...bles-via-email http://forums.asp.net/t/1046932.aspx/1 Saludos.
__________________ http://ka0stj.wordpress.com/ |
| |||
Respuesta: Gridview por Correo Gracias por tu respuesta, ya habia visto esos enlaces...tengo el siguiente codigo Protected Sub Button4_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button4.Click Dim mail As System.Net.Mail.MailMessage = New System.Net.Mail.MailMessage() mail.Body = GridViewToHtml(GridView1) mail.IsBodyHtml = True mail.To.Add(New System.Net.Mail.MailAddress("[email protected]")) mail.From = New System.Net.Mail.MailAddress("[email protected]") mail.Subject = "Hello" Dim smptClient As System.Net.Mail.SmtpClient = New System.Net.Mail.SmtpClient() smptClient.Send(mail) End Sub Private Function GridViewToHtml(ByVal gv As GridView) As String Dim sb As New StringBuilder() Dim sw As New StringWriter(sb) Dim hw As New HtmlTextWriter(sw) GridView1.RenderControl(hw) Return sb.ToString() End Function pero me marca el siguiente error: 'GridView' must be placed inside a form tag with runat=server buscando el google encontre esta solucion: Protected Overrides Sub Render(ByVal writer As HtmlTextWriter) If Request.Form IsNot Nothing Then If Request.Form(Button1.ClientID) IsNot Nothing Then ' Render the controls to a different text writer writer.WriteLine("pruebas.aspx") ' Do not allow the page to be rendered Return End If End If MyBase.Render(writer) End Sub pero me sigue marcando el mismo error...alguien me puede hechar una mano por favor..? |
| |||
Respuesta: Gridview por Correo Te paso el dato para que puedas enviar por email un gridview, espero y todavia te sirva Private Function getStrTabla() As String 'Vinculo los datos al datagrid Dim tabAgre As DataTable = DirectCast(Session("tabSes"), DataTable) Me.GridView1.DataSource = tabAgre Me.GridView1.DataBind() 'Obtenemos el html Dim sb As New StringBuilder() Dim sw As New StringWriter(sb) Dim htmlTW As New HtmlTextWriter(sw) 'llamamos al metodo RenderControl con el control TextWriter como parametro GridView1.RenderControl(htmlTW) 'vuelco el c¢digo HTML a una variable y la devuelvo Dim dataGridHTML As String = sb.ToString() Return dataGridHTML Session.Remove("tabSes") End Function ''aqui se evita el error de que tiene que estar entre las etiquetas form Public Overrides Sub VerifyRenderingInServerForm(ByVal control As Control) 'Confirma que un control HtmlForm se representa para el control de ASP.NETserver especificado en tiempo de ejecución. End Sub ya solamente pegas la funcion en el cuerpo del correo getStrTabla() Saludos. |
Etiquetas: |