【问题标题】:FileUpload Control inside child UpdatePanel Not Working: FileUpload.Hasfile is always False子 UpdatePanel 内的 FileUpload 控件不起作用:FileUpload.Hasfile 始终为 False
【发布时间】:2010-10-02 07:22:54
【问题描述】:

我正在使用 ajax 工具包 PopupControl Extender 来显示网格视图的行详细信息。网格视图位于更新面板内。在弹出窗口中,另一个 UpdatePanel 中有一个 FileUpload 控件。在 FileUplad 控件所在的子 UpdatePanel 中,我将触发器设置为链接按钮,该按钮将上传文件并更新数据库。我的问题是 FileUpload.HasFile 总是假的。我怎样才能让它工作?

标记代码如下:

    <asp:GridView ID="gdvTemplates" runat="server" AutoGenerateColumns="False" BorderWidth="0" GridLines="None">
    <Columns>
            .

。 .

      <cc1:PopupControlExtender ID="Image1_PopupControlExtender" runat="server" 
                        DynamicServicePath="" Enabled="True" ExtenderControlID="" 
                        TargetControlID="Image1" PopupControlID="Panel1">
     </cc1:PopupControlExtender>

    <asp:Panel ID="Panel1" style="display:none" runat="server" CssClass="popup_template" Width="383px">


  <asp:FileUpload ID="FileUpload2" runat="server" />
  </td><td></td></tr> 

 <tr><td class="style7"></td><td class="style3">     

oncommand="LinkBut​​ton2_Click">更新 取消

省略了一些代码。问题是如何让 FileUpload 控件在 Popup 窗口的子 UpdatePanel 中工作。

谢谢。

【问题讨论】:

    标签: asp.net-ajax


    【解决方案1】:

    这是因为文件上传必须完整回发,部分回发将失败。为此使用 IFrame,有很多这样的例子。

    【讨论】:

    • 我听说过使用 iFrame 作为解决方法。但是我的问题是我成功使用了文件上传触发器,但是这次不同的是我在父UpdatePanel中嵌套了另一个UpdatePanel,为什么这次嵌套的UpdatePanel不起作用?似乎连触发器都不起作用,而 iframe 是唯一的解决方案?我不想使用基于 Flash 的方法(我也听说过)。
    • 我在 UpdatePanel 中发现的另一件事是 FileUpload 控件,即使在嵌套的 UpdatePanel 中,添加 也能完美运行。问题似乎是我的 FileUpload 控件位于 PopupControl Extender 中,这个弹出窗口有什么特别之处吗?需要更多探索。如果可以,请提供帮助。
    • 嗨,我与 FileUploader 斗争的那几次我的问题是部分回发。嵌套更新面板可能还有另一个与回发有关的问题。我对此没有任何答案。
    猜你喜欢
    • 2012-03-29
    • 1970-01-01
    • 2012-03-28
    • 2012-03-28
    • 1970-01-01
    • 2011-06-25
    • 1970-01-01
    • 1970-01-01
    • 2011-07-13
    相关资源
    最近更新 更多