【发布时间】:2009-01-28 12:01:03
【问题描述】:
我创建了一个自定义 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 设计器中支持这一点(这样当我在标签中键入分类时 - 它会打开写入枚举以选择值)和属性页控件。
我希望你明白我的意思。
谢谢。
【问题讨论】:
标签: asp.net generics controls web-controls