在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
通常项目开发需要把页面上指定内容保存为WORD/EXCEL等文件形式,网上采用比较简单的方法如下:
sender, ImageClickEventArgs e)
{ System.IO.StringWriter sw = new System.IO.StringWriter(); System.Web.UI.HtmlTextWriter htw = new System.Web.UI.HtmlTextWriter(sw); this.jjqqhb_container.Page.EnableViewState = false; this.jjqqhb_container.RenderControl(htw); Response.Buffer = true; Response.Clear(); Response.ClearContent(); Response.ClearHeaders(); Response.ContentType = "application/ms-word"; Response.Charset = "utf-8"; Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8"); Response.AddHeader("Content-Disposition", "attachment;filename=1.doc"); Response.Write(sw.ToString()); Response.Flush(); Response.Close(); } 其中jjqqhb_container包含的HTML代码就是需要转换为文件的内容 但是转换过程出现了3个小问题 (1)保存的WORD文档上出现"窗体顶端","窗体底端"等多余信息 解决办法:因为控件在<form></form>中,故有窗体信息,你可以删掉它,把控件放body里编辑 (2) ........会发生只能在执行 Render() 的过程中调用 RegisterForEventValidation的错误提示 解决办法:this.jjqqhb_container.Page.EnableViewState = false;或者直接修改页面 (3) 类型“XX”的控件“XX”必须放在具有 runat=server 的窗体标记内 解决办法:在后台文件中重载VerifyRenderingInServerForm方法,如下所示。
VerifyRenderingInServerForm(Control control)
{ //base.VerifyRenderingInServerForm(control); }
|
请发表评论