2008-11-11 3 views
0

DB 레코드를 자동으로로드하고 각 DB 열 이름을 확인한 다음 연결된 텍스트 상자/레이블/리터럴/등을 채우는 클래스가 있으면 이름. Rails에서이 아이디어를 얻었습니다. 내가하는 일을 명확히하는 데 도움이됩니다.데이터베이스 필드를 .NET 컨트롤로 자동으로 가져 오는 클래스

public string presentData(Page thisForm) 
{ 
// .. for each column name 
// ... thisForm.FindControl() happens 
} 

이 방법으로 원하는 컨트롤을 찾지 못하는 것 같습니다.이를 수행하는 데 더 좋은 방법이 될 수 있습니다.

편집 : 다른 방법으로 성능을 향상시킬 수 있다면 분명히 제안하십시오. 나는 큰 폼을 가지고 있고, 재귀적인 FindControl은 퍼포먼스 시간을 증가시킬 것입니다.

+0

당신은 당신이 당신의 데이터 액세스 프런트 엔드에 노출 하시겠습니까? – Kon

답변

3

FindControl은 재귀가 아니므로 최상위 컨트롤 만 찾고 다른 컨트롤 안에 중첩 된 컨트롤은 찾지 않습니다. FindControl의 재귀 버전에 대한 예제는 this article을 참조하십시오.

+0

이런 식으로 생각했습니다.하지만 더 좋은 방법이 있는지 묻고 싶습니다. 좋은 링크! –

+0

나는 이것을 시도하고 꽤 잘 성능을 발휘하는 것으로 보인다. 아직 눈에 띄는 대박은 없습니다. –

0

컨트롤 클라이언트 측 채우기에 대해 생각해 보셨습니까? JQuery가 시작하기에 좋은 장소 일 수 있습니다. Javascript/JQuery를 생성하여 서버에서 채우기를 수행하면 JQuery가 컨트롤을 검색합니다. 매우 효율적입니다.

+0

나는 그 아이디어를 좋아한다. 클라이언트 컴퓨터에 부담을 덜어주는 것이 합리적입니다. 하지만 궁극적으로 페이지를 가능한 빨리로드하고 싶습니다. 따라서 트레이드 오프 (요청 당 저장되는 클라이언트 시간 대 저장된 서버 시간)를 살펴 봐야합니다. –

관련 문제