今天搞这个文件上传,遇到一个怪事,就是这个一直给我报false,我查一上午的资料,头都大。
我以为是我的前端控件没弄对,仔细检查好几遍,没发现啥问题。然后我就去搜,网上有人说可能是因为用UpdatePanel
,这玩意儿和文件上传不兼容。
我一想,坏,我好像真用这玩意儿。之前为页面局部刷新,看着好看点,我就加UpdatePanel
。这下可咋整?
网上有人说把scriptmanager
的enablepartialrending
设成false
就行。我试试,还真行!终于是true
。但是,页面局部刷新也没,整个页面一闪一闪的,看着难受。
这不行,我不能为上传文件,把用户体验给搞砸。于是我又继续找资料。
后来发现,原来是因为我的母版页里加UpdatePanel
,子页面又指向这个带UpdatePanel
的ContentPlaceHolderID
。这就像是套娃一样,一层套一层,UpdatePanel
把FileUpload
给“困”住。
解决办法
我琢磨半天,想出个招:
- 我把子页面里的
UpdatePanel
给去掉。 - 然后,在需要上传文件的地方,我直接用原生的
input type="file"
。 - 在后端代码里,我判断一下,看看有没有文件上传上来。
这么一搞,问题终于解决!既能上传文件,又不影响页面局部刷新。虽然过程有点曲折,但好歹是搞定。
以后再遇到这种问题,要看看是不是UpdatePanel
搞的鬼。如果是的话,要么就别用UpdatePanel
,要么就换个思路,用原生的方式上传文件。
今天这事儿真是给我上一课,以后写代码可得小心点,不能想多留个心眼总没错。
免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。