2012-06-09 61 views
2

我们有一个asp.net Web应用程序,我们目前使用用户注册页面上的更新面板来检查用户是否存在。有在做这个ASP.NET检查数据库中是否存在电子邮件的最佳方法

1-更新面板的几个问题是慢

2 - 当用户按Tab切换到下一个文本框的焦点失去了用户必须点击手动回箱子,这是连当更新面板处于弹出状态时更糟糕

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

我们正在使用的网络形式,而不是ASP.NET MVC

我们的问题是什么是做这个操作的最佳方法:检查用户名已经存在。

客户端:普通的JavaScript,JQuery,JSON等其他可能性? 服务器端检查用户是否存在:另一个aspx页面,web服务,其他可能性?

还有哪些其他技术可以使用?

预先感谢..

回答

2

下面是一个例子,从客户端:http://jsfiddle.net/HackedByChinese/XPd2G/2/

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

我在结果中添加一个可视指示器(绿色轮廓很好,红色很差)。你可以用你使用的任何验证方案替换它,或者显示一条消息,无论如何。注意:如果您不喜欢使用delayedkeyup进行验证,则可以用.blur.change替换它,以便在用户单击或跳出文本框或更改值(分别)时完成查找。

WebMethod可能是这个样子:

[WebMethod] 
public string ValidateEmail(string email) 
{ 
    var valid = IsEmailValid(email); // your validation routine 
    return string.Format("{{ \"validEmail\":{0} }}", valid.ToString().ToLower()); 
} 
+1

由于Web服务似乎是最好的方法。 – user1253073

相关问题