关于在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(); } } ///