2016-02-27 33 views
0

問題是我想填充var docfiles = new List<string>();與用戶上傳的一些文件名使用dropzone js,但列表不會填充,因爲第一次頁面加載httpRequest.Files.Count > 0這意味着沒有文件上傳用戶是否有任何想法填補用戶上傳文件後的列表,並確保這將在頁面加載後?有沒有辦法在頁面加載後填充Page_Load範圍內的空對象列表?

protected void Page_Load(object sender, EventArgs e) 
{ 



    var httpRequest = System.Web.HttpContext.Current.Request; 
    HttpFileCollection uploadFiles = httpRequest.Files; 
    var docfiles = new List<string>(); 


    if (httpRequest.Files.Count > 0) 
    { 
     int i; 
     for (i = 0; i < uploadFiles.Count; i++) 
     { 
      HttpPostedFile postedFile = uploadFiles[i]; 
      int fileSizeInBytes = postedFile.ContentLength; 
      string fileName = postedFile.FileName;// Request.Headers["X-File-Name"]; 
      string fileExtension = ""; 

      fileExtension = Path.GetExtension(fileName); 
      string savedFileName = Guid.NewGuid().ToString() + fileExtension; 
      string path = HttpContext.Current.Server.MapPath("~/img/items/"); 
      string filename = path + savedFileName; 
      postedFile.SaveAs(filename); 
      docfiles.Add(filename); 
     } 
     itm.img1 = "ASs"; 

    } 
    } 

回答

1

IsPostBack屬性會告訴你,如果這是初始頁面加載或回後的結果,所以檢查上傳的文件之前檢查一下。

MSDN Docs on IsPostBack

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (IsPostBack) 
    { 
     //your code 
    } 
} 
+0

我想它的劑量不灌裝 – ajjawi

+0

@ajjawi另一個海報編輯我的答案補充一個代碼示例,被打破。我修好了。現在就試試吧 –

+0

我對錯誤的代碼表示歉意,我只是想向OP展示一個例子。 – Shaharyar

相關問題