有没有办法让我可以拥有服务器控件
MyControl<T>
这样我就可以在像这样的aspx页面中注册和使用它
<mc:MyControl<ThingForControlToUse> ID="instanceOfMyControl" runat="server"
显然设计师并不喜欢这样,除了创建一个带有类型参数的非通用包装外,还有什么好的方法吗?
答案 0 :(得分:6)
ASP.NET中无法使用通用标记名称,请参阅此文章:Generic Controls
您认为需要使用TYPE参数创建包装器,这是正确的方法。
答案 1 :(得分:0)
快速说明 - 我不确定在Visual Studio 2008中是否也是如此,但如果您在使用Visual Studio 2005编辑的项目中拥有该控件,则会完全破坏该控件的智能感知。当Visual Studio尝试创建用于标记文件中的intellisense弹出窗口的XML模式文件时,它会在看到像这样的通用控件时完全中断,并且完全放弃模式文件,使得该程序集中的任何控件都没有智能感知。