2012-05-08 11 views
2

Salve!私はhasfileのFileUploadコントロールプロパティが常にfalseであったという問題があった投稿like this oneを見ました。私の問題は関連していますが、違いはありますが、別の答えが必要です。asp:FileUploadコントロールのhasfileプロパティをクリアする方法

私は、.NET 2.0ファイルアップロードコントロールを持っており、その横のボタンは、次のように:今

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

、これは、Webパーツ内のページ上のすべて(のSharePoint、それはです - のそれらのためにあなたはwebpartsに精通していません - それは基本的にiframeです)。 Page_Loadも呼び出すことに注意してください。

ユーザーがファイルを閲覧した後、uploadedFile制御のhasfileプロパティは、(それがそもそもfalseた)trueになります。ファイン。ユーザーがボタンをクリックすると、ファイルがアップロードされます。 hasfiletrueである限り、ファイルがアップロードされたことを知らせる電子メールを私に送信するコードがあります。

私の問題はこれです:ユーザがブラウザで更新ボタンを押すと は、ページがリロードされるが、hasfileプロパティがクリアされていない、と私は別の電子メールを送信されます! (Firefoxをキャッシュなしでリロードすると、すべてが正しくリフレッシュされます)

FileUploadコントロールのhasfileプロパティをクリアするにはどうすればよいですか?または、ユーザーがリロードしたときにページがキャッシュをスキップするようにするにはどうすればよいですか?

Page_Load以外の関数を呼び出すことはできますが、パラメータを受け取れるようにする必要があります。そのため、私はPage_Loadから呼び出すこともできます(私が行っていることのほかに)。

答えて

10

LoadPage()関数のhasfileプロパティをクリアする機能を追加しました。この関数は、(ページが読み込まれると)リフレッシュするとsuprise supriseが呼び出されます。

機能を実装する代わりに、上記の機能を実装する関数をコーディングし、ページ読み込みから呼び出すことができます。 Guide Code

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

OR

はすぐにファイルをアップロードした後、問題に対処してみてください。

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

を!ありがとう! – bgmCoder

+0

問題は、そのようなhasfileプロパティをクリアすると、私はまだ何もないとして 'fileUpload.PostedFile'を持っています。私が 'hasfile'をクリアすれば、私はそれをクリアしたいと思ったが、何かが欠けている。 – bgmCoder

+0

ああ、決して心配しないでください。私のサーバーのキャッシュはさわやかではなかったと思います。今はうまくいくようです。ありがとう! – bgmCoder

0

私はのFileUploadクリアするには、この操作を行います。hasfileプロパティをクリアしないこと

fubanner.Attributes.Clear(); 
関連する問題