2011-01-25 2 views
0

저는 C#에서 DotNetNuke 모듈을 만들고 있는데, 복잡성을 줄이기 위해 모듈의 구성을 한 페이지 (표준 설정 모듈 제외)로 유지하려고 시도했습니다. 나는 이제 얼마나 현명한 아이디어인지 궁금해.DotNetNuke : GridView가 데이터 액세스 레이어와 호환되지 않습니까?

내 모듈은 하나 이상의 이미지가있는 간단한 이미지 갤러리입니다. 각 이미지에는 제목, 이미지 소스 (URL) 및 대상 (다른 URL)이 있습니다. 따라서 관리자 인터페이스의 경우 기존 페이지의 모든 항목을 편집하거나 새 페이지를 추가 할 수있는 간단한 '격자'데이터를 가질 수 있습니다.

 Title    Image URL       Anchor HREF 
[A Picture!  ] [http://www.example.com/image.jpg ] [http://www.example.com] 
[Another Picture!] [http://www.example.com/image2.jpg] [http://www.example.net] 
[    ] [         ] [      ]

WebControls를 살펴보면, 처음에는 내가 찾고 있던 것과 비슷한 것처럼 보이는 GridView를 발견했습니다. 그러나 데이터 접근 레이어에서 일을하는 DotNetNuke 표준이 다음과 같은 데이터 개체 컬렉션을 만드는 것처럼 보이는 동안 데이터 원본에 직접 바인딩해야한다는 것을 발견했습니다.

// EditDiscovery.ascx.cs 
DiscoveryController objDiscoverys = new DiscoveryController(); 
List<DiscoveryInfo> lstDiscoveries = objDiscoverys.GetDiscoverys(ModuleId); 

// DiscoveryController.cs 
public List<DiscoveryInfo> GetDiscoverys(int ModuleId) { 
    return CBO.FillCollection<DiscoveryInfo>(DataProvider.Instance().GetDiscoverys(ModuleId)); 
} 

GridView에 누락 된 것이 있습니까? 아니면 DiscoveryInfo 개체 목록과 대조적으로 DataSet을 반환하도록 GetDiscoverys 함수를 변경해야합니까? 아니면 DotNetNuke의 DAL과보다 잘 조화되는 것을 수행하는 더 나은 접근법이 있습니까?

답변

1

격자에 DiscoveryInfo 개체의 목록을 설정할 수 있어야합니다.

MyGrid.DataSource = lstDiscoveries; 
MyGrid.DataBind(); 
+0

아, 내가 내가 내가 데이터 집합 또는 "금속에 가까이"뭔가를 제공했다 인상이었다 읽고 있었다에서. 돌이켜 보면 간단한 솔루션 이었지만 C#과 ASP.NET으로 시작한 사람에게는 이러한 것들이 분명하지 않으며 사용자의 응답에 대한 나의 초기 응답은 "아, DataSource가 객체 목록 ". 감사! – AlexMax

+0

@AlexMax 기꺼이 도와 드리겠습니다! – bdukes

관련 문제