【发布时间】:2015-01-02 13:19:20
【问题描述】:
我正在尝试在我的 Web 应用程序中创建用于上传和下载附件的用户控件。
在我的用户控件中,我使用 asp.net 更新面板来上传和下载文件,并且我在显示样式为无的 <dive>...</dive> 标记中使用我的用户控件。
当我使用这个用户控件时,我正在尝试设置<dive>...</dive> 标记显示样式来显示用户控件,并且我正在使用下面的代码在模式弹出模式下显示这个用户控件:
<ajaxToolkit:ModalPopupExtender ID="ModalPopupExtender" runat="server" CancelControlID="CancelButton" DropShadow="true" PopupControlID="PanelMain" PopupDragHandleControlID="PanelHeader" TargetControlID="btnFileOperation" />
在我的用户控件中,我编写了以下相同的代码:
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:FileUpload ID="fileUploadImage" runat="server" />
<asp:Button ID="Button1" runat="server" Text="Upload Image" OnClick="btnUpload2_Click" />
<br />
<asp:Label ID="lblMessage" runat="server" Text="Image uploaded successfully." Visible="false"></asp:Label><br />
<asp:UpdateProgress ID="UpdateProgress1" runat="server" AssociatedUpdatePanelID="UpdatePanel1">
<ProgressTemplate>
Please wait image is getting uploaded....
</ProgressTemplate>
</asp:UpdateProgress>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="btnUpload" />
</Triggers>
</asp:UpdatePanel>
但是当我想访问代码中的 FileUpload.PostedFile 或 FileUpload.HasFile 属性时(上传按钮的单击事件),这些属性为空。
这个问题的原因可能是什么?以及如何解决?
【问题讨论】:
-
将文件上传控制从更新面板中移除。一切都会好起来的
-
感谢 Amer Zafar。但是这个解决方案是行不通的。
标签: c# asp.net file-upload updatepanel ajaxcontroltoolkit