2012-06-09 62 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

相關問題