2011-03-04 43 views
1

我的情況,我需要一個列表框回發後要記住我已經加入到了許多在它的listItems中的屬性是後附加屬性。我在網上發現了這個解決方案,似乎解決了這個問題,但我不知道如何實現它。C#增強的列表框 - 記得回發

List box solution

他說,他寫道,從列表框這是很好的繼承的類,我做到了這一點,並把它稱爲EnhancedListBox但我怎麼然後應用到我使用的頁面上的列表框?

我不能剛剛替補

<asp:ListBox > 

<asp:EnhancedListBox> 

但怎麼回事我讓網頁知道我想用我的遺傳代碼?

謝謝。

回答

0

SaveViewStateLoadViewState是可以覆蓋當前虛擬方法。你想嘗試什麼是打造「自己的」 ListBox

class EnhancedListBox : ListBox 
{ 
    protected override object SaveViewState() 
    { 
     // code here from the tutorial 
    } 
    protected override void LoadViewState(object savedState) 
    { 
     // code here from the tutorial 
    } 
} 

這也叫"Creating a custom control",這是很常見的做這種方式,它爲您提供了極大的靈活性。

+0

非常好,謝謝。 – scaryjones

+0

已完成上述代碼,但不知道如何將其用作我的頁面上的控件。我試着在一個單獨的項目中構建它,幷包含DLL(這看起來像是過度殺毒,但無論如何)。這似乎不工作,因爲我得到「未知服務器標籤」asp:EnhancedListBox'。「錯誤。任何人有什麼想法我在這裏做錯了嗎? – scaryjones

+0

@scaryjones,你是否正確地包含名稱空間? –