Saludos! estoy tratando de exportar el contenido de una gridview que genero de forma dinámica a un archivo excel con este pequeño script:
Código:
protected void cmdExportar_Click(object sender, EventArgs e)
{
string attachment = "attachment; filename=informe.xls";
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
Response.ClearContent();
Response.AddHeader("content-disposition", attachment);
Response.ContentType = "application/ms-excel";
this.grdInforme.RenderControl(htw);
Response.Write(sw.ToString());
Response.End();
}
Por alguna razón, al ejecutar el código y dar al botón cmdExportar, se detiene en la línea
this.grdInforme.RenderControl(htw); y el depurador me indica lo siguiente:
Cita: + $exception {"El control 'grdInforme' de tipo 'GridView' debe colocarse dentro de una etiqueta de formulario con runat=server."} System.Exception {System.Web.HttpException}
Bueno, el formulario lo tengo propiamente creado, de la siguiente forma:
Código HTML:
<form id="frm" runat="server">
y la GridView también (las columnas las genero dinámicamente) :
Código HTML:
<asp:GridView ID="grdInforme" runat="server" AutoGenerateColumns="false" >
<Columns></Columns>
</asp:GridView>
No sé que hacer, no puedo identificar el error... alguien tiene alguna sugerencia?
Saludos!