C# FileUploader.Has文件在.net 4.0中始终返回false
我一直在努力寻找答案,但我找不到任何有效的解决方案C# FileUploader.Has文件在.net 4.0中始终返回false,c#,asp.net,file-upload,C#,Asp.net,File Upload,我一直在努力寻找答案,但我找不到任何有效的解决方案 MultipleFileUploader.ascx: <asp:ScriptManagerProxy ID="ScriptManagerProxy1" runat="server"> </asp:ScriptManagerProxy> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <Conte
MultipleFileUploader.ascx:
<asp:ScriptManagerProxy ID="ScriptManagerProxy1" runat="server">
</asp:ScriptManagerProxy>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:FileUpload ID="FileUpload1" runat="server"
multiple="multiple" onchange="__doPostBack('<%= UpdatePanel1.ClientID %>', ''); type="file" />
</ContentTemplate>
</asp:UpdatePanel>
当用户选择带有回发的文件时,它会上载该文件
这不应该是浏览器的问题,因为我在chrome firefox和IE上遇到了同样的问题。
在我们升级到.net 4.0之前,这些代码一直运行良好,出于某种原因,它FileUploader.HasFile总是返回false
我试过:
Page.Form.Attributes.Add("enctype", "multipart/form-data");
以及:
<Triggers>
<asp:PostBackTrigger ControlID="btnUploadFile" />
</Triggers>
我是不是错过了一些简单的东西?
非常感谢您提供的任何帮助。
非常感谢。你把触发器放在
里面了吗
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<Triggers>
<asp:PostBackTrigger ControlID="btnUploadFile" />
</Triggers>
<rest of the code>
</asp:UpdatePanel>
谢谢你的回复。这不是文件权限问题。已尝试(FileUpload1.FileName)-仍返回string.Empty。我意识到我不能基于按钮放置触发器,因为该方法是由PageLoad事件触发的,该事件在上载程序更改时触发__DoPostBack@JoshuaTan,你试过把
FileUpload
控件放在updatepanel
之外吗?哇,它在更新面板之外工作!非常感谢。但是我需要它在更新面板中,有没有办法解决这个问题,我仍然发现它非常神秘,到底发生了什么?但真的很高兴它成功了,非常感谢much@JoshuaTan,到目前为止,我还不明白,但我已经编辑了我的答案,把原因放在了外面。如果点击投票按钮下方的复选按钮有帮助,请不要忘记将其标记为答案谢谢你的回复,很抱歉,如果我有15个或更多的代表,我一定会投你一票。但请知道我感谢你的时间和努力。感谢像你这样聪明善良的人=D
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<Triggers>
<asp:PostBackTrigger ControlID="btnUploadFile" />
</Triggers>
<rest of the code>
</asp:UpdatePanel>
if (FileUpload1.FileName != string.Empty)