2

我们有一个 asp.net 网络应用程序,我们目前使用用户注册页面上的更新面板来检查用户是否存在。这样做有几个问题

1-更新面板很慢

2-当用户切换到下一个文本框时,焦点会丢失,因此用户必须手动返回该框,当更新面板在弹出窗口中时,情况会更糟

3-即使它不刷新页面,页面加载方法仍然会被调用,当我只需要调用触发的事件时。

我们使用 web 表单而不是 asp.net mvc

我们的问题是执行此操作的最佳方法是什么:检查用户名是否已经存在。

客户端:常规 JavaScript、JQuery、JSON,还有其他可能性吗?服务器端检查用户是否存在:另一个 aspx 页面、Web 服务、其他可能性?

还有哪些其他技术是可能的,或者你们使用的是什么?

提前致谢..

4

1 回答 1

2

这是一个来自客户端的示例:http: //jsfiddle.net/HackedByChinese/XPd2G/2/

我创建了一个名为 的简单插件delayedkeyup,它会在用户几毫秒后停止输入后触发一个事件。当事件触发时,我会进行 ajax 调用(在示例中,它是一个模拟的 JSON 端点;您可以将其替换为对 Web 服务的调用,或者用 标记的页面方法WebMethod,它会执行简单的 DB 查找)。ajax 调用返回一条 JSON 消息,指示电子邮件是否有效。

我为结果添加了一个视觉指示器(绿色轮廓是好的,红色是坏的)。您可以将其替换为您使用的任何验证方案,或显示一条消息,等等。

注意:如果您不喜欢使用delayedkeyup 进行验证,您可以将其替换为.bluror .change,因此当用户单击或从文本框中跳出选项卡或更改值(分别)时,就会完成查找。

WebMethod可能看起来像这样:

[WebMethod]
public string ValidateEmail(string email)
{
   var valid = IsEmailValid(email); // your validation routine
   return string.Format("{{ \"validEmail\":{0} }}", valid.ToString().ToLower());
}
于 2012-06-09T01:15:46.253 回答