2009-12-03 6 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이 null이 아닌 것은 확실합니까?

0

FileUpload 또는 PostedFile 속성은 null이어야합니다.

1

FileNamestring.Empty인지 확인하려면 사용자가 파일을 선택하지 않고 단추를 클릭했을 때를 감지하는 것처럼 들리는 것 같습니다. 그렇게되면

, 실제 PostedFile 속성은 그 목적을 위해 FileUpload.HasFile 속성을 사용한다 null는 (사용자가 파일을 게시하지 않은 기억)입니다 :

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

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

하지만 난 당신을 추천 할 것입니다 또한 RequiredFieldValidator을 추가하십시오. 검증에

더보기 : 내가 세션에서 코드를 삽입 할 때

+0

이 문제가 발생합니다. – renisha

+0

언제 세션에 참여하고 있습니까? – CMS

관련 문제