gridview数据导入Excel时的问题
我在将gridview数据导入Excel时,使用下面的代码:
protected void Button6_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection(ConfigurationManager.AppSettings["ConnectionString"]);
con.Open();
string user = Session["sb_username"].ToString();
string query = "select excel from view_authority where uid='" + user + "'";
SqlCommand mycom = new SqlCommand(query, con);
string uid = Convert.ToString(mycom.ExecuteScalar());
if (uid == "True")
{
Excel();
}
else
{
Response.Write("<script>alert(\"对不起,您没有使用此功能的权限,请联系管理员!\");</script>");
return;
}
con.Close();
}
protected void Excel()
{
Export("application/ms-excel", "设备信息.xls");
}
private void Export(string FileType, string FileName)
{
Response.Charset = "GB2312";
Response.ContentEncoding = System.Text.Encoding.UTF7;
Response.AppendHeader("Content-Disposition", "attachment;filename=Excel.xls");
Response.ContentType = FileType;
this.EnableViewState = false;
StringWriter tw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(tw);
GridView1.RenderControl(hw);
Response.Write(tw.ToString());
Response.End();
}
public override void VerifyRenderingInServerForm(Control control)
{
//base.VerifyRenderingInServerForm(control);//没有此代码会报错类型"GridView"的控件"GridView1"必须放在具有runat=server 的窗体标记内
}
}
当程序运行到GridView1.RenderControl(hw);时,报错提示:只能在执行 Render() 的过程中调用 RegisterForEventValidation;请问这个要如何解决,在线等,谢谢!