C# Asp.net自定义控件作为属性传递对象
在Asp.Net自定义控件中,我希望将对象作为属性传递(就像传递宽度/颜色一样),在设计时是否可以这样做 例如: 自定义控件是一个,我想通过 学生对象是在代码隐藏中实例化的,我的自定义面板是这样编码的C# Asp.net自定义控件作为属性传递对象,c#,asp.net,C#,Asp.net,在Asp.Net自定义控件中,我希望将对象作为属性传递(就像传递宽度/颜色一样),在设计时是否可以这样做 例如: 自定义控件是一个,我想通过 学生对象是在代码隐藏中实例化的,我的自定义面板是这样编码的 public class CustomPanel:Panel { [Browsable(true), Category("Data")] public object CustomObject { get; set; } } 您可能无法将自定义属性设置为字符串类型。 然后,您可以
public class CustomPanel:Panel
{
[Browsable(true), Category("Data")]
public object CustomObject { get; set; }
}
您可能无法将自定义属性设置为字符串类型。 然后,您可以捕获init上的属性,并使用switch语句创建适当的对象:
public class CustomPanel:Panel
{
[Browsable(true), Category("Data")]
public string CustomObject { get; set; }
}
然后在pageload或int中可以构建正确的对象
switch (CustomObject)
{
case "Student":
CustomObject student = new CustomObject();
break;
case "Staff":
CustomObject staff = new CustomObject();
break;
default:
CustomObject student = new CustomObject();
break;
}
为什么不能在代码隐藏中将student对象传递给CustomPanel?我可以传递它,但因为我是作为组件设计的,正在寻找设计时支持。目前我无法在design Time中分配它。我可以在aspxIs中使用Eval做些什么吗?这将成为自定义面板中的子元素吗?@James Johnson:这是一个自定义属性