关于在Page_Load定义外部变量输出

string cmd = (string)Common.sink("cmd", MethodType.Get, 255, 0, DataType.Str);

protected void Page_Load(object sender, EventArgs e) { if (cmd == "DownLoad") { DownXslFile(); }

}

/// <summary> /// 导出Excel文档 /// </summary> protected void DownXslFile() {

System.IO.StringWriter sw = new System.IO.StringWriter();

Server.Execute("report.aspx?cmd=ssss", sw, false); string abcd = sw.ToString(); string fileName = "考勤报表_" + DateTime.Now.Date.ToString("yyyyMMdd") + ".xls";

//Response.Headers.Clear(); Response.Clear(); Response.AppendHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName)); Response.Charset = "utf-8"; Response.ContentEncoding = System.Text.Encoding.UTF8; Response.ContentType = "application/ms-excel"; Response.Write(abcd.ToString()); Response.End(); }

发现生成的文件内容为空.

后来将string cmd = (string)Common.sink("cmd", MethodType.Get, 255, 0, DataType.Str); 放入page_load方法中才成功.

如下:

protected void Page_Load(object sender, EventArgs e) {

string cmd = (string)Common.sink("cmd", MethodType.Get, 255, 0, DataType.Str);

if (cmd == "DownLoad") { DownXslFile(); }

}

string cmd = (string)Common.sink("cmd", MethodType.Get, 255, 0, DataType.Str); protected void Page_Load(object sender, EventArgs e) { if (cmd == "DownLoad") { DownXslFile(); } } /// /// 导出Excel文档 /// protected void DownXslFile() { System.IO.StringWriter sw = new System.IO.StringWriter(); Server.Execute("report.aspx?cmd=ssss", sw, false); string abcd = sw.ToString(); string fileName = "考勤报表_" + DateTime.Now.Date.ToString("yyyyMMdd") + ".xls"; //Response.Headers.Clear(); Response.Clear(); Response.AppendHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(fileName)); Response.Charset = "utf-8"; Response.ContentEncoding = System.Text.Encoding.UTF8; Response.ContentType = "application/ms-excel"; Response.Write(abcd.ToString()); Response.End(); } 发现生成的文件内容为空. 后来将string cmd = (string)Common.sink("cmd", MethodType.Get, 255, 0, DataType.Str); 放入page_load方法中才成功. 如下: protected void Page_Load(object sender, EventArgs e) { string cmd = (string)Common.sink("cmd", MethodType.Get, 255, 0, DataType.Str); if (cmd == "DownLoad") { DownXslFile(); } }
经验分享 程序员 微信小程序 职场和发展