我计划开发一个 ASP.NET 服务器控件,为新用户注册提供异步用户名可用性验证。该控件将允许开发人员将其指向“用户名”文本框,并且它将提供用户名是否可用的指示。喜欢 这个例子, ,但没有笨重的 UpdatePanel。

让我头疼的一个设计决策是是否继承 脚本控制 或者 基础验证器.

通过将其实现为 脚本控制, ,我可以使客户端部分更容易处理,并使用 resx 轻松本地化它。

但是,我想确保验证器针对 Page.IsValid 正常运行。我知道做到这一点的唯一方法是覆盖 基础验证器 并实施 EvaluateIsValid().

所以,我的问题是,您建议如何构建这个控件?从 BaseValidator 继承是使验证器部分正确的最佳(唯一)方法,还是我可以通过其他方式做到这一点?

有帮助吗?

解决方案

如果你实现了,你应该能够做到这两点 脚本控制 接口同时也派生自 BaseValidator:

public class YourControl : IScriptControl, BaseValidator

要实现 IScriptControl 接口意味着您的控件还必须具有 GetScriptReferences 和 GetScriptDescriptors 方法。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top