2012-02-22 5 views
1

여러 개의 ListBox 컨트롤이있는 ASP.NET 페이지가 있습니다. 이러한 ListBox 중 일부는 많은 옵션 (100 개 이상)을 가질 수 있습니다.ASP.NET ListBox - Condense가 HTML을 생성했습니다.

문제점은 페이지의 응답 크기가 모든 ListBox 옵션에서 생성 된 html에 해당하는 106kb라는 것입니다. 현재

은이 같은 소스에서 패딩되고 : 응축 경우

<option value="1"> 
    Test1 
</option><option value="2"> 
    Test2 
</option><option value="3"> 
    Test3 
</option> 

가 소형화되지 하시겠습니까? 예 :

<option value="1">Test1</option><option value="2">Test2</option><option value="3">Test3</option> 

첫째, 공백은 실제로 여기에 기여하는 요인입니까?

둘째, 공백이 문제가되는 경우 ListBox 컨트롤에 대해 html이 생성되는 방식을 변경하는 가장 좋은 방법은 무엇입니까?

더 많은 "글로벌"압축 솔루션이있을 수 있습니다. 그러나 지금은 특별히 ListBox 컨트롤과 해당 마크 업을 살펴 ​​보았습니다.

+0

당신은 gzip 압축을 활성화 할 수 있습니다 ... –

답변

0

모든 경우에 select 요소의 옵션이 필요하므로 주석을 제거 할 방법이 없으므로 페이지로드시 빈 옵션으로 목록 상자를 렌더링 한 다음 javascript를 사용하여 페이지로드 이벤트, 각 확인란에 사용할 수있는 옵션 목록을 가져오고 javascript를 사용하여 html로 그리는 요청을 작성하면 요청이 캐시되어 목록을 반환하는 ajax 요청을 호출합니다. 옵션을 사용하면 캐시되므로 매우 빠릅니다.

이 접근 방식에 도움이 필요하시면 알려주십시오.

1

공백 (새 줄)을 제거하면 거의 아무 것도 얻지 못할 것입니다.

<c1:MyListBox> 
    <o v="1"> 
     Test1 
    </o> 
    <o v="2"> 
     Test2 
    </o> 
    <o v="3"> 
     Test3 
    </o> 
</c1:MyListBox> 

을 물론 당신은 enable IIS compression을 할 수 있습니다

당신은 그런 예를 들어 보이게하기 위해 최소한의 태그를 사용하는 것이 자신의 목록 상자 컨트롤을 만드는 데 약간의 시간을 투자 할 수 있습니다.

0

100 개의 항목이있는 목록 상자는 어쨌든 특히 유용하지 않으며이 선택 항목을 표시하는 다른 방법을 제안하는 것이 좋습니다 (이 사이트에서 볼 수있는 태그 선택 자동 완성과 같은 것이 적절할 수 있음).).

여기에서 공백을 제거하면 약간의 이점이 있습니다.

+0

그러나 이러한 목록 상자는 웹 응용 프로그램 내에서 필터 역할을하며 응용 프로그램의 기존 모양과 느낌에 의해 제한됩니다. 일부 목록 상자 자체는 다른 항목을 기반으로 필터링되므로 더 유용하게 사용할 수 있습니다. 그러나 초기로드 상태는 본질적으로 "모두 나열"되어 상당한 수의 옵션을 유도합니다. –

+0

아마도 초기로드 상태가 다른 것을 고려해보십시오.리스트는 많은 수의 레코드에서 거의 유용하지 않습니다. – Paddy

+0

레코드 그리드가 포함 된이 페이지의 컨텍스트에서 모든 상태가 의미있는 목록입니다. 레코드의 수가 문제가되지 않도록 페이지가 제대로 페이징됩니다. 그러나 필터의 수와 생성 된 마크 업은 내 응답 크기에 대한 문제입니다. 그러나 귀하의 의견을 주셔서 감사합니다. –