【发布时间】:2012-03-28 20:09:33
【问题描述】:
我想知道为什么我的方法 FileUpload.HasFile 总是 null ..
这是我使用的 Xaml。
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanelAddFiles" runat="server" UpdateMode=Conditional>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="LkUpload" />
</Triggers>
<ContentTemplate>
</ContentTemplate>
</asp:UpdatePanel>
<asp:Panel ID="PanelAddFiles" runat="server">
<div class="PanelAddFiles">
<asp:LinkButton ID="LkUpload" runat="server" OnClick="LkUpload_Click" Visible="false">Upload</asp:LinkButton>
<asp:FileUpload ID="FileUpload1" runat="server" Visible="false" />
</div>
</asp:Panel>
编辑:
我认为问题之一是这个
<form action="Upload/Default.aspx" enctype="multipart/form-data" method="post" id="frm">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanelAddFiles" runat="server" UpdateMode=Conditional>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="LkUpload" />
</Triggers>
<ContentTemplate>
</ContentTemplate>
</asp:UpdatePanel>
<asp:Panel ID="PanelAddFiles" runat="server">
<div class="PanelAddFiles">
<asp:LinkButton ID="LkUpload" runat="server" OnClick="LkUpload_Click" Visible="false">Upload</asp:LinkButton>
<!--<asp:FileUpload ID="FileUpload1" runat="server" Visible="false" />-->
<ajaxToolkit:AsyncFileUpload runat="server" ID="FileUpload1" />
<asp:Panel ID="Dropbox" runat="server">
<div class="dropbox">
<div class="dragzone">
</div>
<span class="message">
drop files here to upload
</asp:Panel>
</div>
</asp:Panel>
</form>
</div>
因为有页面的形式,也有我这里使用的形式。我有一个 Dropbox 显示与否,不管它是不是 IE。所以当它是 IE 时,我只显示 fileupload 。 也许是因为有两种形式它不再发射了?
我一定要使用这个 AjaxToolkit 吗?
【问题讨论】:
-
删除
Visible="false"的asp:FileUpload控件
标签: c# asp.net file-upload updatepanel