2014-11-14 305 views
0

我想基於與下面提到的按鈕關聯的txt框中放置的名稱生成數據表。不過,我正在創建數據表的地方出現ann錯誤。。 NET Overload方法具有無效參數

錯誤:

的最好重載方法匹配 'MSafety.InsReport.ConvertToDTForInstructors(System.Collections.Generic.List)' 有一些無效參數

代碼:

protected void btnInsName_Click(object sender, EventArgs e) 
    { 
     try 
     { 

      DataTable dt = new DataTable(); 

      var wingsList = context.Wings.Where(row => row.Enabled == 1).ToList(); 

      DataTable dtDDL = new DataTable(); 

      dtDDL = ConvertToDTForWings(wingsList); 
      ddlWing.DataSource = dtDDL; 
      ddlWing.DataBind(); 

      var result = context.GetActiveInstructorsByLastName(txtLastName.Text,txtFirstName.Text).ToList(); 

      dt =ConvertToDTForInstructors(result); 

      rptInsReport.DataSource = dt; 

      rptInsReport.DataBind(); 

      ViewState["ReportDataSource"] = dt; 

      if (result.Count != 0) 
      { 
       PrintButtons("YES"); 
      } 
      else 
      { 
       PrintButtons("NO"); 
      } 
     } 
     catch (EntityException ex) 
     { 
      NtfyObject.ServerError(Page); 
     } 

     rptInsReport.Visible = true; 
    } 

回答

1

當它傳遞到ConvertToDTForIntructors()時,檢查result的類型。我打賭ToList()返回ArrayList或其他非通用名單。

正如你所看到的錯誤,ConvertToDTForInstructors()需要一個通用的List<>

看看這個答案:.NET Casting Generic List關於鑄造到一個通用List<>信息。

+0

哇,不能相信我錯過了,謝謝! – SinceForever 2014-11-14 17:34:21