如何从Control继承,而不是UserControl?

4
我有一个继承自UserControl的ASP.net控件:

文件1:

public partial class Controls_AllocationDuplicate : System.Web.UI.UserControl

文件 2:

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="AllocationDuplicate.ascx.cs" Inherits="Controls_AllocationDuplicate" %>

我需要控件继承自Control而不是UserControlFile.aspx.cs (更改后):
public partial class Controls_AllocationDuplicate : System.Web.UI.Control

File.aspx (未更改):

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="AllocationDuplicate.ascx.cs" Inherits="Controls_AllocationDuplicate" %>

当我这样做时,Visual Studio会给出一个编译错误:
请确保此代码文件中定义的类与“inherits”属性匹配,并且它扩展了正确的基类(例如Page或UserControl)。
如何让我的控件从Control而不是UserControl继承?
系列
这个问题是Stackoverflow持续系列“模板化用户控件”中的一个。

1
为什么需要从Control继承而不是UserControl?当然这是合法的,但从您提供的链接中,我不明白您的意图。 - aquinas
@aquinas: 因为“UserControl”没有名为“ContentTemplate”的公共属性。 - Ian Boyd
啊,它正在得到设计师的支持。明白了。是啊,对我也从来没有起过作用,但是每次我进入设计师时都会说“哦,该死!我不小心按了设计师按钮,现在我必须等待5分钟。” - aquinas
2个回答

1

1

在这种情况下,您尝试创建自定义控件而不是用户控件,因此无法使用ascx文件来保存设计,而需要以编程方式进行设计。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接