如何从Control继承而不是UserControl?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从Control继承而不是UserControl?相关的知识,希望对你有一定的参考价值。

我有一个继承自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" %>

I need the control to inherit from Control, rather than UserControl

File.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系列中的一个,“模板化用户控件”:

答案

尝试继承Web Control,然后使用Register而不是Control。与此类似:qazxsw poi

另一答案

您尝试制作自定义控件而不是用户控件,在这种情况下,您不能使用ascx文件来保存您的设计,但需要务实地设计它们。

以上是关于如何从Control继承而不是UserControl?的主要内容,如果未能解决你的问题,请参考以下文章

如何继承继承的方法而不是覆盖继承的方法?

如何检测单个控制键盘事件而不是键组合?

如何从代码隐藏中访问UserControl中样式的Setter中ControlTemplate中定义的Control实例?

如何继承 UIApplication 而不是 NSObject

C ++如何确保在使用虚拟继承时它调用继承而不是基函数

如何识别控件的可见性是不是被用户更改?