2016-09-15 64 views
0

有沒有辦法讓綁定的項目顯示內聯輸出而不是換行符,我目前有大約1000+項綁定到DropDownList多次,導致這麼多行HTML &導致頁面加載緩慢asp:DropDownList DataBind HTML輸出

當前顯示什麼(精簡版)

<select name="randomName" onchange="randomOnChane" id="randomId"> 
     <option value="42">Test</option> 
     <option value="43">Test</option> 
     <option value="44">Test</option> 
     <option value="45">Test</option> 
     <option value="46">Test</option> 
     <option value="47">Test</option> 
     <option value="48">Test</option> 
     <option value="49">Test</option> 
     <option value="50">Test</option> 
     <option value="51">Test</option> 
    </select> 

我想什麼

<select name="randomName" onchange="randomOnChane" id="randomId"> 
    <option value="42">Test</option><option value="43">Test</option><option value="44">Test</option> 
    <option value="45">Test</option><option value="46">Test</option><option value="47">Test</option> 
    <option value="48">Test</option><option value="49">Test</option><option value="50">Test</option> 
    <option value="51">Test</option> 
</select> 

回答

0

可以繼承的控制,然後攔截呈現的HTML和過濾它,像這樣

class MyLinelessWebControl: System.Web.UI.WebControls.DropDownList() 
{  
    protected override RenderControl(HtmlTextWriter writer) 
    { 
     StringWriter sw = new StringWriter(); 
     HtmlTextWriter tempWriter = new HtmlTextWriter(sw); 
     base.RenderControl(tempWriter); 

     writer.Write(sw.ToString().Replace("\r\n","")); 
    } 
} 

話雖這麼說,我懷疑去除換行符會很大提高性能。

+0

代碼尼斯位列表中滾動,但我也懷疑這將提高性能。 –

0

下拉列表中有超過1000個項目?難怪你的頁面加載速度很慢。縮小你的HTML並不會有明顯的性能差異。您應該查看「自動完成」功能,例如http://jqueryui.com/autocomplete/

另外,作爲一個用戶,我不會高興通過與更多的則超過1000個項目:)