public void HtmlToWord(System.Web.UI.Control source)
{
//设置Http的头信息
Response.AppendHeader("Content-Disposition", "attachment;filename=result.doc");
//指定类型为word
Response.ContentType = "application/ms-word";
//编码格式
Response.Charset = "utf-8";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
//关闭控件的视图状态
source.Page.EnableViewState = false;
//初始化HtmlWriter,实现一个用于将信息写入字符串的 TextWriter。
StringWriter objWriter = new StringWriter();
HtmlTextWriter ObjhtmlWriter = new HtmlTextWriter(objWriter); source.RenderControl(ObjhtmlWriter);/////?????
//输出
Response.Write(objWriter.ToString());
Response.End();
}
protected void btnToWord_Click(object sender, EventArgs e)
{
HtmlToWord(this);
} 这段代码source.RenderControl(ObjhtmlWriter);
为什么总报这样的错误:只能在执行 Render() 的过程中调用 RegisterForEventValidation;
{
//设置Http的头信息
Response.AppendHeader("Content-Disposition", "attachment;filename=result.doc");
//指定类型为word
Response.ContentType = "application/ms-word";
//编码格式
Response.Charset = "utf-8";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
//关闭控件的视图状态
source.Page.EnableViewState = false;
//初始化HtmlWriter,实现一个用于将信息写入字符串的 TextWriter。
StringWriter objWriter = new StringWriter();
HtmlTextWriter ObjhtmlWriter = new HtmlTextWriter(objWriter); source.RenderControl(ObjhtmlWriter);/////?????
//输出
Response.Write(objWriter.ToString());
Response.End();
}
protected void btnToWord_Click(object sender, EventArgs e)
{
HtmlToWord(this);
} 这段代码source.RenderControl(ObjhtmlWriter);
为什么总报这样的错误:只能在执行 Render() 的过程中调用 RegisterForEventValidation;
{
//base.VerifyRenderingInServerForm(control);
}
不要這一句
{
//base.VerifyRenderingInServerForm(control);
}
这段加哪?
{
//base.VerifyRenderingInServerForm(control);
}
都要
{
//base.VerifyRenderingInServerForm(control);
} 重写这个方法可以在没有form的情况下提交!
我也遇见过这样的问题!~
加上就可以啦
加你方法下面就可以了,.不行就ASPX页头上加上 EnableEventValidation="false"