在Asp.Net自定义控件中,我想将对象作为属性传递(就像我们传递宽度/颜色一样),在设计时我还能做到吗?

例:

自定义控件是,我想通过



学生对象在后面的代码中实例化,我的自定义面板的编码如下

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

关于c# - Asp.net自定义控件将对象作为属性传递,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7128467/

10-13 03:37