类似WPF的属性,在ASP.net中具有自定义控件

时间:2010-01-28 12:19:48

标签: asp.net user-controls

在WPF中,可以通过属性或内部属性设置自定义控件的属性。像这样:

<custom:UserControl1 Text="My text here..."></custom:UserControl1>

等于:

<custom:UserControl1>
    <custom:UserControl1.Text>
        My text here...
    </custom:UserControl1.Text>
</custom:UserControl1>

在ASP.net中,可以通过PersistenceMode属性定义自定义控件属性的类型。目前,我只能找到一种方法来将属性定义为属性或内部属性。

是否有可能以任何方式设置自定义控件属性,如WPF?

谢谢!

1 个答案:

答案 0 :(得分:0)

对于文字,请设置:

[
PersistenceMode(PersistenceMode.InnerProperty),
DesignerSerializationVisibility(DesignerSerializationVisibility.Content)
]
public string Text

对于您希望以此方式显示的属性,您可以执行第二个选项;但是,您也可以将其指定为内联。如果这是您用作子元素的唯一属性,则还可以指定PersistenceMode.InnerDefaultProperty或EncodedInnerDefaultProperty(因为它将是默认值),后者将对其进行编码。

实际上,你不能像在ASP.NET中的WPF那样做所有事情;它不是完全支持设计师,因为这不是它的意图。但是,您可以将原始类型定义为具有内容设计序列化的内部属性,并且它应该允许您同时执行这两个选项。

HTH。