0

我有 3 个文件上传控件,人们可以在其中上传 csv 文件。如果我的提交按钮不在更新面板内,则文件上传在代码中包含文件,并且一切正常。但是,我希望我在更新面板中的提交按钮基于表单上的一些其他控件,我通过更新面板启用/禁用按钮。这种启用和禁用工作正常,但现在在按钮中单击代码隐藏文件上传控件始终具有空值,即使选择了 csv 文件也是如此。

为什么即使选择了文件,我的提交按钮周围的更新面板也会导致文件上传控件中没有任何内容?

所以我在页面上有一个 FileUpload 控件,例如:

<asp:FileUpload ID="file1" runat="server" />

我在更新面板中有一个提交按钮,例如:

<asp:UpdatePanel ID="pnlSubmitButton" runat="server" UpdateMode="Conditional">
  <ContentTemplate>
      <asp:Button ID="button1" runat="server" Test="Submit" onclick="button1_Click" />
  </ContentTemplate>
</asp:UpdatePanel>

在按钮单击事件后面的代码中

protected void button1_Click(object sender, EventArgs e)
{
    // file1.FileName is empty even though I did select a file
}

如果我删除按钮周围的更新面板 file1.FileName 在按钮单击然后填充

4

1 回答 1

3

据我所知, asp:FileUpload 在 UpdatePanel 异步触发器下不起作用。您需要在回发触发器下设置上传按钮单击以使其正常工作。像这样的东西:

<triggers>

<postbacktrigger controlid="btnSubmit"/>
</triggers>
于 2013-10-16T17:09:03.683 回答