2013-03-24 15 views
0

在我的頁面上載文件,然後將它們保存在數據庫中。我有2個按鈕;一個用於上傳,另一個用於保存。 當我上傳的文件,我讓他們在可變如何從列表<>中刪除舊項目以應用新運行

public static List<upload> files = new List<upload>(); 

而且下面的代碼我已經添加到上傳按鈕點擊:

files.Add(new upload(FileName,contenttype,bytes)); 

現在,當按保存鍵數據庫

foreach (var file in files) 
{ 
    ProjDocAttach prjd = new ProjDocAttach(); 
    prjd.ProjDocID = _Projectid; 

    prjd.Data = file.FileBytes; 
    prjd.FileName = file.Name; 
    prjd.ContentType = file.Filetype; 

    _DataContext.ProjDocAttaches.InsertOnSubmit(prjd); 
    _DataContext.SubmitChanges(); 
} 

當這是我第一次運行時,我沒有任何問題,但如果它是第二次或更多,則先前運行中的所有舊的上載文件將被添加到數據庫中。

請幫我怎麼解決這個問題?

+3

不要在Web應用程序中使用靜態變量。 – wRAR 2013-03-24 13:46:23

+0

不要在ASP.Net中使用靜態可變狀態。它保證會打破。 – SLaks 2013-03-24 13:46:40

回答

0

只是這樣做:

files.Clear(); 
files.Add(new upload(FileName,contenttype,bytes)); 
+2

當兩個請求同時運行此代碼時,甚至會發生更有趣的事情。 – wRAR 2013-03-24 13:49:05

+0

@wRAR同意... – 2013-03-24 13:50:16

相關問題