对于js页面来说,未使用服务端控件,点击下载按钮时不会触发服务端事件,且不会提交数据到服务端页面后台进行数据处理,所以要下载文件比较困难。且使用jQ的post来请求一般处理程序也不能实现文件的下载,根本不会弹出提示用户保存文件的对话框。但会将文件数据获取到。
要解决一般处理程序下载文件的办法,其实很简单,只要明白b/s基本基本原理即可。采用方法为创建一个iframe,并隐藏,设置其src=demo.handler.ashx 即可,在服务端将要下载的文件输出即可。注意设置content-type和charset,一个header。这样就可以达到js页面异步下载文件的目的。