文件上传控制 - 启动第二个控件时选择文件丢失

时间:2010-12-29 22:14:05

标签: asp.net file-upload

我们的问题/问题围绕着一个上传控件,当使用回发控件时(在这种情况下,下拉列表发布),该控件将丢失所选文件(变为空白)。有什么洞察我们做错了什么或我们如何解决这个问题?以下是我们的代码和问题摘要。

非常感谢任何帮助。

谢谢!

<asp:updatepanel id="UpdatePanel1" runat="server">
                       <ContentTemplate>
                              <div class="row">
                                     <asp:DropDownList runat="server" AutoPostBack="true" ID="CategorySelection" OnSelectedIndexChanged="CategorySelection_IndexChanged" CssClass="drop-down-list" />
                              </div>
                              <div id="SubCategory" class="row" runat="server" visible="false">
                                     <asp:DropDownList runat="server" ID="SubCategorySelection" CssClass="drop-down-list" />
                              </div>
                              <div class="row">
                                     <asp:FileUpload runat="server" ID="FileUpload" CssClass="file-upload" />
                              </div>
                              <div class="row">
                                     <asp:Button ID="submit" runat="server" Text="Submit" CssClass="button" OnClick="submit_ButtonClick" />
                              </div>
                       </ContentTemplate>
                       <Triggers>
                              <asp:PostBackTrigger ControlID="submit" />
                       </Triggers>
                 </asp:updatepanel>

在这种形式中,我们有2个DropDownList,1个FileUpload和1个提交按钮。每次用户选择一个类别时,子类别都会被加载(AutoPostBack =“true”)。

主要用户流正常工作:用户选择一个类别,子类别并选择要上载(提交)的文件。但是,如果用户先选择一个文件,然后选择一个类别,屏幕将进行部分刷新,所选文件将消失(字段变为空白)。结果,用户需要再次选择文件。这会导致问题,因为不再选择文件这一事实很容易被忽视。

似乎直截了当 - 但却给我们带来了很多悲伤。那里有哪些专家可以提供帮助?

非常感谢!

1 个答案:

答案 0 :(得分:0)

这是输入类型=文件的行为,即它无法预先填充。将FileUpload移到UpdatePanel之外。在标记中,您可以将FileUpload和提交按钮移到UpdatePanel之外。