private void Export(string FileType, string FileName)
{
Response.Charset = "GB2312";
Response.ContentEncoding = System.Text.Encoding.UTF7;
Response.AppendHeader("Content-Disposition","attachment;filename="+HttpUtility.UrlEncode(FileName,System.Text.Encoding.UTF8).ToString());
Response.ContentType = FileType;
this.EnableViewState = false;
//String Writer tw = new String Writer();
System.IO.StringWriter tw = new System.IO.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 的窗体标记内。 不要报 只能在执行 Render() 的过程中调用 RegisterForEventValidation;
}
protected void Button1_Click(object sender, EventArgs e)
{
Export("application/ms-excel","导入到Excel中.xls");
} 高手给找哈错
{
Response.Charset = "GB2312";
Response.ContentEncoding = System.Text.Encoding.UTF7;
Response.AppendHeader("Content-Disposition","attachment;filename="+HttpUtility.UrlEncode(FileName,System.Text.Encoding.UTF8).ToString());
Response.ContentType = FileType;
this.EnableViewState = false;
//String Writer tw = new String Writer();
System.IO.StringWriter tw = new System.IO.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 的窗体标记内。 不要报 只能在执行 Render() 的过程中调用 RegisterForEventValidation;
}
protected void Button1_Click(object sender, EventArgs e)
{
Export("application/ms-excel","导入到Excel中.xls");
} 高手给找哈错
这句怎么搞成utf7?
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
</ContentTemplate>
<Triggers>
</Triggers>
</asp:UpdatePanel>
{
var p = new myPage();
var c = CreateGridView(p); //这个方法负责创建一个GridView放入p.Form.Controls集合内部
var url = "~/downloads/"+Guid.NewGuid().ToString("n")+".xls"; //动态产生文件名
var r = this.Page.Response;
using (var sw = new StreamWriter(this.Page.Server.MapPath(url)))
{
c.RenderControl(new HtmlTextWriter(sw));
r.Write(sw.ToString());
}
r.Redirect(url); //这不但不会刷新当前页面,而且会弹出一个下载窗口。
}class myPage : Page
{
public override void VerifyRenderingInServerForm(Control control)
{
}
}
其中,MyPage类是当前页面类中定义的另一个类,它关键地是要使用重写方法取消你所遇到的那个安全性检查。