我有一个.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
)。精细。用户单击按钮并上载文件。我有代码在那里给我发电子邮件,让我知道一个文件已经上传,只要hasfile
是true
。
如果用户在浏览器中按下刷新按钮,则会重新加载页面,但hasfile
属性未被清除,因此我收到另一封电子邮件! (如果我使用Firefox无需缓存重新加载的能力,那么一切都正确刷新)
如何清除FileUpload控件上的hasfile
属性?或者,如何在用户重新加载时使页面跳过缓存?
我不介意调用除Page_Load之外的函数,但是它需要能够接收参数,所以我也可以从Page_Load调用它(由于我正在做的其他事情)。
添加在LoadPage()函数中清除hasfile
属性的功能,当你刷新时(因为页面加载),它会被调用。
或者也许不是放置功能,而是编写实现所述功能的函数并从页面加载调用它。 Guide Code:
private void clearFileUpload()
{
fileUpload.Dispose();
}
要么
尝试在上传文件后立即处理问题。
private void clearFileUpload()
{
fileUpload.PostedFile.InputStream.Dispose();
// fileUpload.HasFile is now false
}
我这样做是为了清除FileUpload:
fubanner.Attributes.Clear();