5

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

让我头疼的一个设计决定是是否继承自ScriptControlBaseValidator

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

但是,我想确保验证器相对于 Page.IsValid 正常运行。我知道这样做的唯一方法是覆盖BaseValidator并实现EvaluateIsValid().

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

4

1 回答 1

4

如果您实现IScriptControl接口同时还从 BaseValidator 派生,您应该能够做到这两点:

public class YourControl : IScriptControl, BaseValidator

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

于 2008-09-08T19:52:08.053 回答