繁体   English   中英

当属性是asp.net中的列表时,如何创建具有从Page属性设置的用户控件?

[英]How can I create a usercontrol with properties set from Page when that property is a list in asp.net?

我正在建立一个用户控件,它可以显示带有许多标志的数据。 我希望能够以这种方式或类似于asp.net页面中的内容进行声明。

<ctl:DisplayItem runat="server" id="ctlTest">
  <flags>
    <flagIsAvailable />
    <flagIsInError />
  </flags>
</ctl:DisplayItem>

在我的控制下,这些标志将是一个List(of PossibleFlags)

Public Enum PossibleFlags
  IsInError
  IsAvailable
End Enum

Public Property Flags as List(Of PossibleFlags)

注意:如果可能,我还想知道如何针对自定义类型(不仅是列表或泛型)的属性执行此操作

将类似的内容添加到您的控件中。 (我从我的一个服务器控件中获取了它,因此可能需要进行一些重构以满足您的需要,但是您会明白的)

属性:

        List<MyFlag> _flags = null;            

        [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)]
        [PersistenceMode(PersistenceMode.InnerProperty)]
        [NotifyParentProperty(true)]
        public List<MyFlag> Flags
        {
            get
            {                    
                if (_flags == null)
                {
                    _flags = new List<MyFlag>();                        
                }

                return _flags;
            }
        }

班级:

        public class MyFlag
        {                       
            public bool FlagIsAvailable { get; set;}
            public bool FlagIsInError { get; set;}                      
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM