今天在做一个上传功能的时候发现页面中加入的FileUpload控件PostedFile属性总是为null。再往里边加一个新的控件也是这样,而新建一个页面测试却没有这种问题。看来问题是处在当前页面上,在检查了一遍以后发现当把页面的UpdatePannel去掉以后FileUpload就可以正常工作了。于是上网一查果然有关于UpdatePannel不支持FileUpload的文章。
解决办法就是,为需要使用FileUpload上传的控件设置为UpdatePannel的PostBackTrigger,这样该控件触发时,UpdatePannel将不再是局部更新而是整页回发。
设置方法就是点开UpdatePannel的Trigger属性设置窗口:
点击“添加”的下拉箭头,会出现选择列表,选择PostBackTrigger,在右侧面板选择相应的控件ID即可。