2013-01-31 1 views
0

일반 목록으로 저장된 사용자 정의 된 데이터 유형 (여기 '사용자')에서 MVC의 Razor보기에 데이터를 표시하려고합니다. 어떻게 표시합니까? 열 수는 다를 수 있습니다.이 방법이 있습니까?열 수가 고정되지 않은 경우 MVC 웹 페이지에 데이터 표시?

내 코드 :

[HttpPost] 
public ActionResult GetData(DataDTO data, FormCollection fc) 
{ 
    string server = fc["CategoryName"].ToString(); 
     //"ctsintbmvodiaf1" 
    string cacheName = data.CacheName; 
     //"1CPlatformCache"; 
    string keyName = data.KeyName; 
     //"UserContext_311581"; 
    try 
    { 
     DataDAO.Initialize(server, cacheName); 
     var outPutData = DataDAO.dataCache.Get(keyName); 
     if (outPutData != null) 
     { 
      if (keyName.Contains("UserContext_")) 
      { 
       var ucOutput = (CTS.OneCognizant.Platform.Caching.User)outPutData; 
       CTS.OneCognizant.Platform.Caching.User userData = (CTS.OneCognizant.Platform.Caching.User)outPutData; 
       List<User> _user = new List<User>(); 
       _user.Add(userData); 
       return View(_user); 
      } 
     } 
    } 
} 
+0

실제 문제가 무엇인지 자세히 설명해 주실 수 있습니까? 당신은 그게 효과가 없었던 무엇을 시도 했습니까? 또한 코드를 단순화하고 관련 부분 만 표시 할 수 있다면 도움이 될 것입니다. – Eilon

+0

목록 _user = 새 목록 (); _user.Add (userData); 위의 변수 "_user"에서 캐시의 데이터를 가져옵니다. 이제이를 그리드보기에 바인딩하고 싶습니다. 반환되는 열의 수가 고정되어 있지 않으므로 MVC에서이를 수행 할 수있는 방법이 없으므로 뷰에 직접 바인드 할 수 없습니다. – Galacticos

+0

사실, 프로젝트를 MVC로 마이그레이션하려고합니다. Asp.net에서는 다음을 사용하여 바인드되었습니다. gridResult.DataSource = (DataSet) outPutData; gridResult.DataBind(); 동일한 방법으로 mvc에서 수행 할 수 있습니다. 데이터를 동적으로 바인드 할 수 있습니다. – Galacticos

답변

0

당신은 WebGrid HTML 도우미를 시도 할 수있는 선박 이후 ASP.NET MVC 3. 체크 아웃을 사용하는 방법을 보여줍니다이 blog post. 이를 사용하여 "알 수없는"목록 그리드를 쉽게 렌더링 할 수 있습니다.

이전에 ASP.NET Web Forms 데이터 바인딩을 사용한 적이 있다고 언급 했으므로 간단한 GridView 또는 DataGrid 컨트롤을 상상해 보면 WebGrid HTML 도우미와 매우 유사합니다. 큰 차이점은 WebGrid 헬퍼에는 자동 편집/삭제/삽입 지원이 없으므로이 점을 명심하십시오.

관련 문제