2014-01-20 169 views
0

我想創建自定義RadioButtonGroup控件並添加自定義ListItemCollection屬性到此控件,我已經添加此屬性,但我的問題: 我將控件拖動到我的網頁,然後打開檢查員爲這個控制和存儲項目在我的自定義列表(3項),當我運行我的頁面和訪問此列表我發現它的計數= 0我不知道爲什麼?Asp.net自定義控件與自定義屬性

這是我的代碼:

public class BaccahRadioGroup : RadioButtonList, INamingContainer 
    { 
     private ListItemCollection englishList; /// this is my custom list 

    [Bindable(true)] 
    [Localizable(true)] 
    [Category(category)] 
    public virtual ListItemCollection EnglishList { 
     get 
     { 
      if (englishList == null) 
      { 
       englishList = new ListItemCollection(); 


       ((IStateManager)englishList).TrackViewState(); 

      } 

      return englishList; 
     } 

     protected override void Render(HtmlTextWriter writer) 
     { 
      base.Render(writer); 
     } 

    } 
} 

回答

0

你沒有堅持你的englishList,你只是告訴StateManager尋找變化。堅持到ViewState。如果它爲null,請查看ViewState。如果沒有一個,則創建一個新的,並將其保存到ViewState中。

+0

請亞歷山大先生給我的代碼我如何能堅持我的englishList,因爲我不明白你 –

+0

[開發自定義ASP.NET服務器控件(http://msdn.microsoft.com/en-us/library/ zt27tfhy.aspx)和 [如何創建ASP.NET用戶控件](http://msdn.microsoft.com/en-us/library/26db8ysc%28v=vs.85%29.aspx) - 這些會幫助你。 – Alexander

+0

請亞歷山大先生,如果你可以給我簡單的代碼這個問題,我將非常感謝,因爲我嘗試了一切來解決這個問題,但直到現在我沒有解決問題.......感謝您的幫助 –