将DataGrid导出到Excel时出现问题

时间:2020-03-06 14:39:49  来源:igfitidea点击:

我首先在下面的代码中遇到一个错误,解释为" DataGridLinkBut​​ton'必须放置在带有runat = server的表单标记中"。

现在,我尝试将AllowSorting设置为false,并从每个列中删除排序表达式,并且出现相同的错误。然后,我尝试使用相同的数据源创建一个新的普通DataGrid,但是现在我得到了一个空白页,并且FF无法再正确识别内容类型。请帮忙。

Response.Clear();
base.Response.Buffer = true;
base.Response.ContentType = "application/vnd.ms-excel";
base.Response.AddHeader("Content-Disposition", "attachment;filename=file.xls");
base.Response.Charset = "";
this.EnableViewState = false;
StringWriter writer = new StringWriter();
HtmlTextWriter writer2 = new HtmlTextWriter(writer);
this.lblExport.RenderControl(writer2);
base.Response.Write(writer.ToString());

解决方案

将以下空方法添加到代码中。那应该解决它。

public override void VerifyRenderingInServerForm(Control control)
    {
    }

公共重写void VerifyRenderingInServerForm(Control control)
{
}

更多帮助请看
http://techdotnets.blogspot.com/