I have my gridview defined as well
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" DataSourceID="SqlDataSource1" Width="976px">
</asp:GridView>
and I'm trying to pass the data to an excel in the following way
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
GridView1.DataBind();
}
}
protected void Button2_Click(object sender, EventArgs e)
{
ExportToExcel("Informe.xls", GridView1);
}
private void ExportToExcel(string nameReport, GridView wControl)
{
HttpResponse response = Response;
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
Page pageToRender = new Page();
HtmlForm form = new HtmlForm();
form.Controls.Add(wControl);
pageToRender.Controls.Add(form);
response.Clear();
response.Buffer = true;
response.ContentType = "application/vnd.ms-excel";
response.AddHeader("Content-Disposition", "attachment;filename=" + nameReport);
response.Charset = "UTF-8";
response.ContentEncoding = Encoding.Default;
pageToRender.RenderControl(htw);
response.Write(sw.ToString());
response.End();
}
in a computer where I made the first tests works perfect but now in the new computer it shows the following error with the method
pageToRender.RenderControl (htw);
Exception thrown: 'System.Web.HttpException' in System.Web.dll
Additional information: Control 'GridView1_ctl11' of type 'DataControlPagerLinkButton' must be placed inside a form tag with runat=server.
and I've already tried many things and I can not find the solution