2014-01-20 124 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

请亚历山大先生,如果你可以给我简单的代码这个问题,我将非常感谢,因为我尝试了一切来解决这个问题,但直到现在我没有解决问题.......感谢您的帮助 –