public string ControlToHTML(System.Web.UI.Control Control)
{
string sHTML = string.Empty;
System.IO.StringWriter oTextWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHTMLWriter = new System.Web.UI.HtmlTextWriter(oTextWriter);
Control.RenderControl(oHTMLWriter);
sHTML = oTextWriter.ToString();
System.IO.Stream myStream;
string path=Server.MapPath(".")+"//ok.xls";
myStream = System.IO.File.Create(path);
System.IO.StreamWriter writer = new System.IO.StreamWriter(myStream);
//writer.Write("<stlye>..........样式等");
writer.Write(sHTML);
writer.Close();
myStream.Close();
Response.Redirect("ok.xls");
return sHTML;
}
为避免错误 需要在Page指令加<%@ Page Language="C#" EnableEventValidation="false"
再重载方法
public override void VerifyRenderingInServerForm(System.Web.UI.Control Control)
{
//覆写,不执行 Base.VerifyRenderingInServerForm 方法,解决执行 RenderControl 产生的错误
}