如何清除asp:FileUpload控件上的hasfile属性?

问题描述 投票:3回答:2

我有一个.NET 2.0 fileupload控件,旁边有一个按钮,如下所示:

<asp:fileupload id="uploadedFile" runat="server" />
<asp:Button runat="server" ID="upload" Text="Upload" OnClick="Page_Load"/>

现在,这就是webpart中的一个页面(sharepoint,也就是说 - 对于那些不熟悉webparts的人来说 - 它基本上是一个iframe)。另请注意,我正在调用Page_Load。

在用户浏览文件后,hasfile控件的uploadedFile属性变为true(开始时为false)。精细。用户单击按钮并上载文件。我有代码在那里给我发电子邮件,让我知道一个文件已经上传,只要hasfiletrue

如果用户在浏览器中按下刷新按钮,则会重新加载页面,但hasfile属性未被清除,因此我收到另一封电子邮件! (如果我使用Firefox无需缓存重新加载的能力,那么一切都正确刷新)

如何清除FileUpload控件上的hasfile属性?或者,如何在用户重新加载时使页面跳过缓存?

我不介意调用除Page_Load之外的函数,但是它需要能够接收参数,所以我也可以从Page_Load调用它(由于我正在做的其他事情)。

asp.net .net-2.0 file-upload
2个回答
11
投票

添加在LoadPage()函数中清除hasfile属性的功能,当你刷新时(因为页面加载),它会被调用。

或者也许不是放置功能,而是编写实现所述功能的函数并从页面加载调用它。 Guide Code

private void clearFileUpload()
{
    fileUpload.Dispose();
}

要么

尝试在上传文件后立即处理问题。

private void clearFileUpload()
{
    fileUpload.PostedFile.InputStream.Dispose();
    // fileUpload.HasFile is now  false
}

0
投票

我这样做是为了清除FileUpload:

fubanner.Attributes.Clear();
© www.soinside.com 2019 - 2024. All rights reserved.