1

您可以像这样为字符串、数字等属性分配值

<asp:Control property="stringvalue" />

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

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

然后调用数据绑定命令设置值。

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

4

1 回答 1

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" />
于 2010-03-05T16:20:32.300 回答