Repeater导出EXCEL
System.IO.StringWriter sw = new System.IO.StringWriter();System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter(sw);
this.Repeater1.RenderControl(hw);
Response.Clear();
Response.ContentType = "application/vnd.ms-excel";
Response.Charset = "";
Page.EnableViewState = false;
Response.AppendHeader("Content-Disposition", "attachment;filename=Teacher.xls");
Response.Write("<html><head><meta http-equiv=Content-Type content=\"text/html; charset=GB2312\"><title> Copyright by SDU</title></head><body><center>");
Response.Write(sw.ToString());
Response.Write("</center></body></html>");
Response.End();
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/uself/archive/2008/08/26/2835057.aspx
我运行这个 结果类型“LinkButton”的控件“ctl00_ContentPlaceHolder_MainRepeater_ctl01_Delete”必须放在具有 runat=server 的窗体标记内。
这个要怎么修改啊 --------------------编程问答-------------------- LZ 你头像吓我一跳 郁闷了........ 速度 溜走............ --------------------编程问答-------------------- Response.AppendHeader("Content-Disposition", "attachment;filename=Teacher.xls");
Response.Write("<html><head><meta http-equiv=Content-Type content=\"text/html; charset=GB2312\"><title> Copyright by SDU</title></head><body><form id='form1' runat='server'><center>");
Response.Write(sw.ToString());
Response.Write("</form></center></body></html>");
这样就可以了 --------------------编程问答-------------------- 把this.Repeater1.RenderControl(hw) 这一句放到Response.Write(sw.ToString())上面 --------------------编程问答--------------------
这不是我的头像...
--------------------编程问答-------------------- 还是会出现这个问题
类型“LinkButton”的控件“ctl00_ContentPlaceHolder_MainRepeater_ctl01_Delete”必须放在具有 runat=server 的窗体标记内。 --------------------编程问答-------------------- 楼主,我也用这个方法导出Excel,也同样遇到这样的问题,请问你解决了吗? --------------------编程问答-------------------- 在页面中重写Page基类的VerifyRenderingInServerForm方法
加上
public override void VerifyRenderingInServerForm(Control control)
{
} --------------------编程问答-------------------- 后台加上
//重写此事件,防止导出数据时报错。
public override void VerifyRenderingInServerForm(Control control)
{
//base.VerifyRenderingInServerForm(control);
}
前台改一下
<%@ Page Language="C#"…… EnableEventValidation="false"%>
检查一下linkbutton是不是没放在<form id="form1" runat="server"></form>里 --------------------编程问答-------------------- 我回复了两条信息,提示都成功,啥没有呢? --------------------编程问答--------------------
本来我是第一个回复这个的。。结果现在成了顶了。 --------------------编程问答-------------------- 重写?能说仔细点吗?小弟不才,刚刚接触.net,现在导出就碰到这个问题 --------------------编程问答-------------------- 是不是你的form没有 runat=“server” --------------------编程问答-------------------- 可以了,非常感谢,好人一生平安,美中不足的是,把后面的,编辑、删除按钮也导出来了,怎么把最后一列去掉呢? --------------------编程问答--------------------
检查一下linkbutton是不是没放在<form id="form1" runat="server"></form>里 --------------------编程问答--------------------
服务器控件 必须放在 具有runat="server"的标签内
补充:.NET技术 , ASP.NET