2012-02-22 65 views
1

我有一個ASP.NET頁面上有多個(11)列表框控件。其中一些ListBox可以有很多選項(100或更多)。ASP.NET列表框 - 濃縮生成的html

我遇到的問題是頁面的響應大小爲106kb,這是由所有ListBox選項生成的html。

目前它是在象源被填充了:

<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壓縮... – 2012-02-22 10:32:56

回答

0

在所有情況下,您將需要選擇元素的選項存在,所以沒有辦法根據您的意見將其刪除,所以我會建議您在頁面加載時使用空選項呈現列表框,然後使用javascript頁面加載事件,你做了一個ajax請求來獲得每個複選框可用的選項列表,並使用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

我明白你的觀點,但是這些列表框在Web應用程序中起着過濾器的作用,並受到應用程序現有外觀和感覺的限制。一些列表框本身是基於其他過濾的,這使得它們更易於使用。然而,初始加載狀態本質上是「全部列出」,這導致如此多的選項。 – 2012-02-22 10:39:01

+0

也許考慮擁有不同的初始加載狀態 - 列表全部對於大量記錄很少有用。 – Paddy 2012-02-22 10:47:45

+0

在包含記錄網格的此頁面的上下文中,列出所有狀態是有意義的。它被正確分頁,所以記錄數量不成問題。然而,過濾器數量和生成的標記是我的響應大小的問題。不過,我欣賞你的意見。 – 2012-02-22 10:58:15