FileUpload + UpdatePanel在第一次单击时不起作用

这不仅仅是另一个FileUpload + UpdatePanel问题。

正如许多类似post中所述,我在表单上有一个UpdatePanel和一个FileUpload控件。 我还为我的上传按钮设置了PostBackTrigger。 有用。 问题是它在第一次点击时从不起作用。 那是:

我点击浏览,选择我的文件,按上传。 什么都没发生(fupld.HasFile = false);

我再次点击浏览,选择任何文件(相同或其他),按上传,它工作正常。

  ...  ...  ...     

我四处寻找答案,但这是一些非常奇怪的行为。 到目前为止没有运气。

有任何想法吗?

谢谢

好吧,FileUpload控件被设计为仅在回发场景中使用,而不是在部分页面呈现期间的异步回发场景中使用。

http://msdn.microsoft.com/en-us/ysf0192b#using_the_FileUpload_Control_with_the_UpdatePanel_control

您可以使用AsyncFileUpload控件而不是AjaxControlToolkit。

  

代码背后:

  if (asyncFileUpload.HasFile) { string fullPath = GetPath(asyncFileUpload.FileName); asyncFileUpload.SaveAs(fullPath); } 

我从来没有遇到任何问题。

更改

 Visible ="false" 

 style="display:none" 

并从后面的代码更改它。
如果设置Visible =“false,则控件实际上不会呈现为HTML。
要将其呈现为HTML,请使用style =“display:none”而不是Visible =“false”

...