Asp.net 如何清除asp:FileUpload控件上的hasfile属性?
我有一个.NET 2.0文件上载控件,旁边有一个按钮,如下所示:Asp.net 如何清除asp:FileUpload控件上的hasfile属性?,asp.net,.net-2.0,file-upload,Asp.net,.net 2.0,File Upload,我有一个.NET 2.0文件上载控件,旁边有一个按钮,如下所示: <asp:fileupload id="uploadedFile" runat="server" /> <asp:Button runat="server" ID="upload" Text="Upload" OnClick="Page_Load"/> 现在,这些都在一个Web部件中的一个页面上(sharepoint,对于那些不熟悉Web部件的人来说,它基本上是一个iframe)。还请注意,我正在调用
<asp:fileupload id="uploadedFile" runat="server" />
<asp:Button runat="server" ID="upload" Text="Upload" OnClick="Page_Load"/>
现在,这些都在一个Web部件中的一个页面上(sharepoint,对于那些不熟悉Web部件的人来说,它基本上是一个iframe)。还请注意,我正在调用Page_Load
用户浏览文件后,uploadedFile
控件的hasfile
属性变为true
(开始时为false
)。好的用户点击按钮,文件上传。只要hasfile
为true
,我就有代码发送给我一封电子邮件,让我知道文件已经上传
如果用户按下浏览器中的刷新按钮,页面将被重新加载,但未清除hasfile
属性,因此我收到另一封电子邮件!(如果我使用Firefox在没有缓存的情况下重新加载的功能,那么所有内容都会正确刷新)
如何清除FileUpload控件上的hasfile
属性?或者,当用户重新加载时,如何使页面跳过缓存
我不介意调用Page_Load以外的函数,但它需要能够接收参数,这样我也可以从Page_Load调用它(因为我正在做其他事情)。添加清除LoadPage()函数中的
hasfile
属性的功能,刷新时会调用该函数(当页面加载时)
或者,可以编写一个实现上述功能的函数,并从页面加载中调用它,而不是放置该功能。
:
或
尝试在上传文件后立即处理此问题
private void clearFileUpload()
{
fileUpload.PostedFile.InputStream.Dispose();
// fileUpload.HasFile is now false
}
我这样做是为了清除文件上载:
fubanner.Attributes.Clear();
类似地,当从.cs文件中代码隐藏的Page_Load()类外部声明的按钮单击事件调用时,这对我不起作用。我还没有测试过将函数嵌套在Page_Load()内部并从外部调用它。
fubanner.Attributes.Clear();