2011-08-19 79 views
2

在Asp.Net自定义控件中,我想传递一个对象作为属性(就像我们通过宽度/颜色一样)是否有设计时我可以这样做?作为属性的Asp.net自定义控件传递对象

实施例:

定制控制是一个< ASP:面板>,我想传递

< CUS:CustomPanel ID = “Panel11” RUNAT = “服务器” CustomObject = “学生”/ >

学生对象是在后面的代码实例和我的自定义面板的编码方式类似于这样

public class CustomPanel:Panel 
{ 
    [Browsable(true), Category("Data")] 
    public object CustomObject { get; set; } 
} 
+0

任何理由,你为什么不能只需将学生对象传递给代码隐藏的CustomPanel? – gislikonrad

+0

我可以通过它,但因为我正在设计作为组件寻找设计时间的支持。目前我无法在设计时指定它 – user841683

+0

我可以在aspx中做什么Eval – user841683

回答

0

您可能没有将您的自定义属性设置为字符串类型。 那么你可以赶上初始化属性,并创建一个switch语句中的apropriate对象:

public class CustomPanel:Panel 
    { 
     [Browsable(true), Category("Data")] 
     public string CustomObject { get; set; } 
    } 

然后页面加载内或INT你可以建立正确的对象

switch (CustomObject) 
     { 
      case "Student": 
       CustomObject student = new CustomObject(); 
       break; 
      case "Staff": 
       CustomObject staff = new CustomObject(); 
       break; 
      default: 
       CustomObject student = new CustomObject(); 
       break; 
     } 
相关问题