【问题标题】:Asp.net Custom Control pass object as a propertyAsp.net 自定义控件将对象作为属性传递
【发布时间】:2011-08-19 23:37:01
【问题描述】:

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

例子:

自定义控件是一个 我想通过

student 对象在后面的代码中实例化,我的自定义面板是这样编码的

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

【问题讨论】:

  • 您为什么不能在代码隐藏中将学生对象传递给 CustomPanel?
  • 我可以通过它,但因为我正在设计为组件寻找设计时支持。目前我无法在设计时分配它
  • 我可以用 aspx 中的 Eval 做任何事情吗
  • 这将成为您自定义面板中的子元素吗?
  • @James Johnson:这是一个自定义属性

标签: c# asp.net


【解决方案1】:

您是否可以不将自定义属性设置为字符串类型。 然后您可以在 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;
        }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-18
    • 2021-11-15
    相关资源
    最近更新 更多