除了数据绑定之外的其他方式,以声明方式为属性赋值

时间:2010-03-05 13:47:53

标签: asp.net controls declarative

您可以将值分配给字符串,数字等属性,如此

<asp:Control property="stringvalue" />

但是当属性类型很复杂(类类型)时,你必须这样做:

<asp:Control property=<%#Value%> />

然后调用data binding命令设置值。

在某些情况下,调用数据绑定命令是不可行的。在这种情况下,我必须以编程方式设置所有属性,而我更愿意以声明方式进行。

1 个答案:

答案 0 :(得分:0)

也许我错过了什么。但是,如果您要使用复杂类型属性,请尝试此操作。

[TypeConverter(typeof(ExpandableObjectConverter))]
public class Foo
{
    public string Property1 { get; set; }
    public string Property2 { get; set; }
}

public class FooCtl : WebControl
{
    [DesignerSerializationVisibility(DesignerSerializationVisibility.Content), NotifyParentProperty(true)]
    public Foo FooProp { get; private set; }
}

<cc1:FooCtl ID="FooCtl1" runat="server" FooProp-Property1="Value1" FooProp-Property2="Value2" />