在Asp.Net自定义控件中,我希望将对象作为属性传递(就像我们传递宽度/颜色一样)无论如何我可以在设计时间那样做吗?
示例:
自定义控件是< asp:Panel>我想通过
< cus:CustomPanel ID =“Panel11”runat =“server”CustomObject =“student”/>
学生对象在代码后面实例化,我的自定义面板编码如下
public class CustomPanel:Panel
{
[Browsable(true), Category("Data")]
public object CustomObject { get; set; }
}
答案 0 :(得分:0)
您是否可以不将自定义属性设置为字符串类型。 然后你可以在init上捕获属性并使用switch语句创建适当的对象:
public class CustomPanel:Panel
{
[Browsable(true), Category("Data")]
public string CustomObject { get; set; }
}
然后在pageload或int中你可以构建正确的Object
switch (CustomObject)
{
case "Student":
CustomObject student = new CustomObject();
break;
case "Staff":
CustomObject staff = new CustomObject();
break;
default:
CustomObject student = new CustomObject();
break;
}