2014-11-29 4 views
1

질문에 데이터 테이블에서 뷰의 테이블을 채우려 고합니다. 지금까지이 컨트롤러에 내 코드는 다음과 같습니다MVC의 DataTable에서 테이블 채우기

그것의 나에게 다음과 같은 예외가 제공
DataSet dsTemplates = new DataSet(); 

     string qryTemplets = ""; 
     SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString); 
     conn.Open(); 
     SqlDataAdapter daTemplate = new SqlDataAdapter(qryTemplets, conn); 
     daTemplate.Fill(dsTemplates, "FileInfo"); 
     DataTable dtTemplates = new DataTable(); 
     dtTemplates = dsTemplates.Tables[0]; 

     List<Models.GameModels.UserList> tables = dtTemplates.Rows.AsEnumerable() 
     .Select(t => new Models.GameModels.UserList 
     { 
      Name = row["Name"], 
      Record = row["Record"] 
     }) 
      .ToList(); 

     conn.Close(); 
     return View(tables); 

:

'System.Data.DataRowCollection가'AsEnumerable '에 대한 정의를 포함하지 않는 최고의 확장 메서드 오버로드 'System.Data.DataTableExtensions.AsEnumerable (System.Data.DataTable)'에 잘못된 인수가 있습니다.

여러 행이있는 테이블을 렌더링하는 가장 좋은 방법입니까? 내 오류에 대한 해결 방법이 있습니까? 미리 감사드립니다. 그 밖의 무엇을 할 수 있습니까?

답변

2

이것은 당신의 UserList 개체로 행을 투사하는 올바른 방법입니다 :

List<UserList> tables = dtTemplates.AsEnumerable() 
    .Select(t => new UserList 
    { 
     Name = t["Name"], 
     Record = t["Record"] 
    }).ToList(); 
+0

완벽한합니다. 감사합니다 백만 :) –

+0

당신은 환영합니다;) –