问题是这样的,有一组供下载的文件绑定的gridview,因为有分页所有在gridview外面加了一个UpdatePanel,这样可以实现无刷新的页面切换,但是这样以前可以正常实现的下载操作这里就没有响应了。通过在网上查看资料,我理解的大概原因是因为UpdatePanel导致程序吧这里的下载操作理解为一段javascript操作,而javascript又无法解析这里的下载操作,于是就失败了。
下面说重点,解决方案:
1.添加一个新的页面Download.aspx
2.将要下载的文件的路径传和新的文件名过来,在这个页面中实现下载操作。
需要补充的是刚开始我通过QueryString传的参数,这样如果新文件名中包含类似“+,#,...”这种地方就会用空格代替,结果我刚好有一个新文件名叫《C++XXX》结果,下载下来的文件叫《C XXX》!这不是有歧义么,于是我用Session来传值,这个问题得到了果断的解决。
贴一下关键代码吧!
Session["filename"