페이지 당 50/100 제품 사이에 표시되는 제품 카탈로그를 작성 중입니다. 내 사이트에 다른 탐색 섹션을 갖고 싶기 때문에 각 제품을 UserControl에 넣습니다. 글쎄, 물론 제품 자체는 아니지만 일부 레이블, divs 및 이미지. 그런 다음 데이터베이스 결과를 처리 할 때 런타임에 해당 속성을 설정합니다. 따라서 장점은 전체 사이트에 대해 1 곳에서 제품 컨트롤 만 변경해야한다는 것입니다. 루프에서 LoadControl을 사용하여 컨트롤을 페이지에 넣을 것입니다.asp.net usercontrol 대 customcontrol 대 stringbuilder
그러나 동일한 db 쿼리를 처리하고 동일한 HTML을 StringBuilder를 사용하여 출력하는 다른 페이지만큼 페이지가 로딩되지 않습니다. 그리고 나는 내 사이트가 잘 실행되기를 원하기 때문에/괜찮은 트래픽을 받으면 걱정이된다. 아직 어떤 벤치마킹도하지 않았지만 그 차이를 분명히 알 수 있습니다.
내 문제는 충분합니다. 내 질문에 '사용자 정의 컨트롤과 함께 LoadControl을 사용하는 것이 더 빠르지 만 쉽게 유지 관리 할 수있는 대안이 있습니까 (아니면 1 개 위치에서 atleast)?'
나는 생각했다 : (나는 그것을 해본 적이 없다이 일을 속도 않을 경우 100 % 모르겠지만)
- customcontrol 만들기 1 개 위치
에서 제품을 유지하는 모든 생각을 죽겠다 내 기본 클래스
[편집] 코드 [/ 편집] 내가 여기 excact UserControl을 코드가없는하지만 home..but 여기까지 단순화 된 아이디어 때이 게시물을 편집합니다 :
1) 얻기 내 (내 DAL로 음속 2.2을 사용하여) 데이터베이스 결과
DAL.ProductCollection coll = new DAL.ProductCollection();
if(coll.count > 0)
{
foreach(DAL.Product item in coll)
{
Control p = LoadControl("FeaturedProduct.ascx");
placeholder.Controls.Add(p);
//Set properties
p.title = item.Title;
p.img = GetImage(item.Guid);
....etc
}
}
내에서 UserControl itselves은 3 리터럴 컨트롤과 한 이미지 컨트롤로 구성되어 있습니다.
하지만 집에 도착하면 완전한 코드를 게시합니다! 감사합니다.
일부 html 출력을 게시 할 수 있습니까? 및 귀하의 제품'UserControl'? LoadControl()을 호출 할 때? – hunter