0

我创建了一个自定义的 ASP.NET 控件(派生自WebControls.TextBox)。

我想向该控件添加一个属性,该属性将是一种类型。

这个属性实际上总是某种类型的 enum 。因此,当在设计器中查看该控件的属性窗口时 - 我希望能够通过从特定枚举中进行选择来为该属性分配值。所以我想在那里看到我传递的枚举中的枚举数列表..

示例(不是将编译的实际代码..只是为了说明我的意思):

我有 2 个枚举:

enum MyEnumABC
{
    A,B,C
}

enum MyColor
{
    Red,Blue,Green
}

我有这个控制:

 public class MyTextBox<T> : TextBox
{
    public T Classification
    {
        get { }
        set { }
    }
}

现在我创建了一个具有以下控件的网页:

<Alex:MyTextBox runat=server id="alex" Classification=MyEnumABC.A></Alex:MyTextBox>
<Alex:MyTextBox runat=server id="alex2" Classification=MyColor.Red></Alex:MyTextBox>

问题是我实际上可以在哪里将类型传递给该控件的构造函数?(因为页面类是调用控件构造函数的那个​​。)实际上我需要将 alex1 的类型设置为 MyEnumABC ,并将 alex2 的类型设置为 MyColor 类型。

第二个问题是我如何让 VS2008 在 HTML 设计器中支持这一点(这样当我在标签中键入分类时 - 它会打开写入枚举以选择值)和控件的属性页。

我希望你明白我在这里的意思。

谢谢 。

4

1 回答 1

0

设计器将支持枚举属性,而无需您做任何特别的事情。只需在控件代码中指定属性,为其提供所有常用属性以使其显示在属性窗口中,并且属性窗口将自动在下拉列表中显示枚举值。

于 2009-01-28T12:57:08.053 回答