本文转自:http://adonio.cnblogs.com/archive/2006/05/30/413208.html
做网站用户注册时,都要验证用户名是否已经被注册,现在最常见的做法是点了提交以后再在服务器端检查,这样给用户带来很大不便,如果用户名已经被注册就需要返回重输用户名和密码,这样带来了不必要的回发过程。以前在阿里巴巴注册时发现阿里巴巴在这点上做得很好,他们就是实时检查的。那么我们如何在 .Net 里面实现在这个功能呢。先看一下简单的思路,就是在客户端 Textbox 引发 onchange 事件时使用 XmlHttpRequest 在后台打开一个网页检查反馈结果。来看看简单实现










在网页上插入一个ID为UserName 的 TextBox 这样检查 ,然后在check.aspx 内检查用户名的使用情况,strResult 就可以知道,这样我们的功能算是完成了,但是这样做的缺点就是不能与验证控制一起验证,这时我们可以使用CustomValidator,因为CustomValidator是允许自己添加脚本进行验证的,我们把上面的脚本改一下,移到CustomValidator 的客户端里面。代码如下:















在网页上再添加一个 CustomValidator 控件,再设一下要验证的控件ID把 ControlToValidate 设成 UserName,
主要设置客户端验证方法 ClientValidationFunction 为 ValidationFunctionName,如:<asp:CustomValidator ID="CustomValidator1" runat="server" ControlToValidate="UserName" ClientValidationFunction="ValidationFunctionName"
ErrorMessage="被注册的用户名"></asp:CustomValidator>,然后在Check.aspx 里面完成检查,在我这里是如果可用就往网页上写 1 否则 写 0 ,注意:在Check.aspx 输出的地方一定要调用 Response.Clear() 和 Response.End() 来保证输出的信息只有 1 或 0,当前你也可以用别的方法输出,我这里为了快速实现使用了这种方法,我是在PageLoad 里面与的,如下









附上:Demo 文件 下载
分类:
.Net WebForm 开发
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述