【发布时间】:2011-04-21 00:25:05
【问题描述】:
由于对 Asp.Net 的验证控件(脱节、冗长、笨拙)感到恼火,我决定看看是否可以创建一系列输入控件,每个控件都有自己的验证方法和属性。
我的设计标准之一是允许我的 Validation 属性在 VS intellisense 中显示为 Tag 属性以及控件的其余属性。
我的第一个想法是创建一个从 WebControl 继承并实现新属性和方法的基类,但没有多重继承,这意味着无法从 TextBox 派生。
这似乎意味着要么
-
从每个 WebControl(TextBox、DropDown 等)继承并(重新)为我的每个控件类(带有或不带有似乎很浪费的接口)编码公共验证属性和方法,或者
对基类(比如 ValidatedInputControl)进行一次编码,然后找到一种方法在从 ValidatedInputControl 继承的类中实现各个 WebControl(文本框等)。我怀疑这意味着渲染等,或者,
寻找其他更有效的模式/设计
所以,我正在寻找建议......
【问题讨论】:
标签: asp.net validation inheritance web-controls