Asp.net Custom Control将对象作为属性传递

时间:2011-08-19 23:37:01

标签: c# asp.net

在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; }
}

1 个答案:

答案 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;
        }