您可以像这样为字符串、数字等属性分配值
<asp:Control property="stringvalue" />
但是,当属性类型很复杂(类类型)时,您必须这样做:
<asp:Control property=<%#Value%> />
然后调用数据绑定命令设置值。
在某些情况下,调用数据绑定命令是不可行的。在这种情况下,我必须以编程方式设置所有属性,而我更愿意以声明方式进行。
您可以像这样为字符串、数字等属性分配值
<asp:Control property="stringvalue" />
但是,当属性类型很复杂(类类型)时,您必须这样做:
<asp:Control property=<%#Value%> />
然后调用数据绑定命令设置值。
在某些情况下,调用数据绑定命令是不可行的。在这种情况下,我必须以编程方式设置所有属性,而我更愿意以声明方式进行。
也许我错过了一些东西。但是如果你想使用复杂类型的属性,试试这个。
[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" />