C# LinkButton、ImageButton和Button的基类之间共享方法
因此,我想在我的网站中的几个控件的onclick事件中添加一些javascript。它们都是Button、LinkButton和ImageButton类 我创建了一个名为CustomLinkButton的类,该类继承自LinkButton,工作非常完美。它使用OnLoad方法,并具有一些使用ViewState的属性。伟大的现在,我想将该代码用于Button和ImageButton 问题是,这三个类都继承自System.Web.UI.WebControls.WebControls,它缺少这三个控件共有的一些重要方法和属性 那怎么办呢?在所有类中重复代码意味着可维护性差。我曾尝试创建另一个类并在那里编写方法,但我遇到了相同的问题-我不能有一个方法接受所有三种类型,但我不能编写一个具有多个约束的泛型方法 想法?或者我只需要用重复的代码编写三个类?我做了大量的搜索,找不到解决方案。这可能适用于很多情况,因此我要问。谢谢各位C# LinkButton、ImageButton和Button的基类之间共享方法,c#,asp.net,class,multiple-inheritance,C#,Asp.net,Class,Multiple Inheritance,因此,我想在我的网站中的几个控件的onclick事件中添加一些javascript。它们都是Button、LinkButton和ImageButton类 我创建了一个名为CustomLinkButton的类,该类继承自LinkButton,工作非常完美。它使用OnLoad方法,并具有一些使用ViewState的属性。伟大的现在,我想将该代码用于Button和ImageButton 问题是,这三个类都继承自System.Web.UI.WebControls.WebControls,它缺少这三个控件
编辑:它们共享的相关属性示例有CausesValidation和ValidationGroup。尽管它们共享相似的功能和需求,但它们确实是用于不同目的的不同控件。我建议你把它们分开。如果有足够的时间、精力和测试,您可以使用一个控件渲染任何内容,但这真的是您想要的吗 您可能认为
LinkButton
和ImageButton
应该继承自Button
,但这只是语义。您应该根据它们呈现的内容来考虑它们,即HTML
:
- asp:按钮是一个
- asp:linkbutton是一个
- asp:imagebutton是一个
LinkButton
和ImageButton
应该继承自Button
,但这只是语义。您应该根据它们呈现的内容来考虑它们,即HTML
:
- asp:按钮是一个
- asp:linkbutton是一个
- asp:imagebutton是一个