2009-12-03 30 views
0

我不斷收到以下錯誤,我不知道如何解決該問題。任何幫助將是偉大請未將對象引用設置爲對象的實例

異常詳細信息:NullReferenceException未處理的用戶代碼:對象引用未設置爲對象的實例。

protected void LbUpload_Click(object sender, EventArgs e) 
    {  
     ERROR: if(FileUpload.PostedFile.FileName == string.Empty) 
     { 

      LabelMsg.Visible = true; 
      return; 
     } 
     else 
    { 
     string[] FileExt = FileUpload.FileName.Split('.'); 
     string FileEx = FileExt[FileExt.Length - 1]; 
     if (FileEx.ToLower() == "csv") 
     { 
      FileUpload.SaveAs(Server.MapPath("CSVLoad//" + FileUpload.FileName)); 
     } 
     else 
     { 
      LabelMsg.Visible = true; 
      return; 
     } 
    } 
    CSVReader reader = new CSVReader(FileUpload.PostedFile.InputStream); 
    string[] headers = reader.GetCSVLine(); 
    DataTable dt = new DataTable(); 
    foreach (string strHeader in headers) 
    dt.Columns.Add(strHeader); 
    string[] data; 
    while ((data = reader.GetCSVLine()) != null) 
    dt.Rows.Add(data); 
    GridView1.DataSource = dt; 
    GridView1.DataBind(); 
    if (FileUpload.HasFile) 
     try 
     { 
      FileUpload.SaveAs(Server.MapPath("confirm//") + 
      FileUpload.FileName); 
      LabelGrid.Text = "File name: " + 
      FileUpload.PostedFile.FileName + "<br>" + 
      FileUpload.PostedFile.ContentLength + " kb<br>" + 
      "Content type: " + 
      FileUpload.PostedFile.ContentType + "<br><b>Uploaded Successfully"; 
     } 
     catch (Exception ex) 
     { 
      LabelGrid.Text = "ERROR: " + ex.Message.ToString(); 

     } 
    else 
    { 
     LabelGrid.Text = "You have not specified a file."; 
    } 
    File.Delete(Server.MapPath("confirm//" + FileUpload.FileName)); 
} 

回答

0

您確定FileUpload和FileUpload.PostedFile不爲空嗎?

0

FileUpload或其PostedFile屬性必須爲空。

1

您正在檢查FileName是否爲string.Empty,這聽起來像您想要檢測用戶何時單擊按鈕而不選擇文件。

如果出現這種情況,實際PostedFile屬性將爲null(記住,用戶沒有發佈一個文件),你應該使用FileUpload.HasFile財產用於這一目的:

protected void LbUpload_Click(object sender, EventArgs e) 
{  
    if(FileUpload.HasFile) 
    { 

     LabelMsg.Visible = true; 
     return; 
    } 
    // ... 
} 

但我會建議你還要添加RequiredFieldValidator

更多關於驗證:

+0

當我在會議上把代碼出現此問題。 – renisha 2009-12-03 05:23:59

+0

你能告訴我們什麼以及什麼時候進行會議嗎? – CMS 2009-12-03 05:34:24

相關問題