Dav*_*ard 5 asp.net validation asp.net-ajax
我计划开发一个 ASP.NET 服务器控件来为新用户注册提供异步用户名可用性验证。该控件将允许开发人员将其指向“用户名”文本框,并提供用户名是否可用的指示。像这个例子,但没有笨重的 UpdatePanel。
一个让我头疼的设计决策是是从ScriptControl还是BaseValidator继承。
通过将它实现为ScriptControl,我可以使客户端部分更容易处理并使用 resx 轻松本地化它。
但是,我想确保验证器在 Page.IsValid 方面正常运行。我知道这样做的唯一方法是覆盖BaseValidator并实现EvaluateIsValid().
所以,我的问题是,您建议如何构建此控件?从 BaseValidator 继承是使验证器部分正确的最佳(唯一)方法,还是我可以用其他方式做到这一点?
如果您实现IScriptControl接口,同时也从 BaseValidator 派生,那么您应该能够执行这两项操作:
public class YourControl : IScriptControl, BaseValidator
Run Code Online (Sandbox Code Playgroud)
要实现 IScriptControl 接口意味着您的控件还必须具有 GetScriptReferences 和 GetScriptDescriptors 方法。