FileUpload.HasFile总是返回False?原因和解决方法看这!

吉云

今天搞这个文件上传,遇到一个怪事,就是这个一直给我报false,我查一上午的资料,头都大。

我以为是我的前端控件没弄对,仔细检查好几遍,没发现啥问题。然后我就去搜,网上有人说可能是因为用UpdatePanel,这玩意儿和文件上传不兼容。

我一想,坏,我好像真用这玩意儿。之前为页面局部刷新,看着好看点,我就加UpdatePanel。这下可咋整?

FileUpload.HasFile总是返回False?原因和解决方法看这!

网上有人说把scriptmanagerenablepartialrending设成false就行。我试试,还真行!终于是true。但是,页面局部刷新也没,整个页面一闪一闪的,看着难受。

这不行,我不能为上传文件,把用户体验给搞砸。于是我又继续找资料。

后来发现,原来是因为我的母版页里加UpdatePanel,子页面又指向这个带UpdatePanelContentPlaceHolderID。这就像是套娃一样,一层套一层,UpdatePanelFileUpload给“困”住。

解决办法

我琢磨半天,想出个招:

    FileUpload.HasFile总是返回False?原因和解决方法看这!

  • 我把子页面里的UpdatePanel给去掉。
  • 然后,在需要上传文件的地方,我直接用原生的input type="file"
  • 在后端代码里,我判断一下,看看有没有文件上传上来。

这么一搞,问题终于解决!既能上传文件,又不影响页面局部刷新。虽然过程有点曲折,但好歹是搞定。

FileUpload.HasFile总是返回False?原因和解决方法看这!

以后再遇到这种问题,要看看是不是UpdatePanel搞的鬼。如果是的话,要么就别用UpdatePanel,要么就换个思路,用原生的方式上传文件。

今天这事儿真是给我上一课,以后写代码可得小心点,不能想多留个心眼总没错。

免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。

目录[+]