使用CustomValidator類及時驗證使用者名稱

2021-09-08 06:30:41 字數 1049 閱讀 2409

做**使用者註冊時,都要驗證使用者名稱是否已經被註冊,現在最常見的做法是點了提交以後再在伺服器端檢查,這樣給使用者帶來很大不便,如果使用者名稱已經被註冊就需要返回重輸使用者名稱和密碼,這樣帶來了不必要的回發過程。以前在

阿里巴巴

註冊時發現阿里巴巴在這點上做得很好,他們就是實時檢查的。那麼我們如何在 .net 裡面實現在這個功能呢。先看一下簡單的思路,就是在客戶端 textbox 引發 onchange 事件時使用 xmlhttprequest 在後台開啟乙個網頁檢查反饋結果。來看看簡單實現

init()

=init;

在網頁上插入乙個id為username 的 textbox 這樣檢查 ,然後在check.aspx 內檢查使用者名稱的使用情況,strresult 就可以知道,這樣我們的功能算是完成了,但是這樣做的缺點就是不能與驗證控制一起驗證,這時我們可以使用customvalidator,因為customvalidator是允許自己新增指令碼進行驗證的,我們把上面的指令碼改一下,移到customvalidator 的客戶端裡面。**如下:

validationfunctionname(source, arguments)

在網頁上再新增乙個 customvalidator   控制項,再設一下要驗證的控制項id把 controltovalidate 設成 username,

主要設定客戶端驗證方法 clientvalidationfunction 為 validationfunctionname,如:,然後在check.aspx 裡面完成檢查,在我這裡是如果可用就往網頁上寫 1 否則 寫 0 ,注意:在check.aspx 輸出的地方一定要呼叫         response.clear() 和 response.end() 來保證輸出的資訊只有 1 或 0,當前你也可以用別的方法輸出,我這裡為了快速實現使用了這種方法,我是在pageload 裡面與的,如下

//檢查使用者名稱

if(checkusername())

response.write("1

");else

response.write("0

");response.end();

好了,終於介紹完了

自定義驗證控制項CustomValidator

客戶端 page language c codefile default.aspx.cs inherits default 伺服器端 private void customvalidator1 servervalidate 1 object source,system.web.ui.webcontr...

使用GraphEdit使用

1 註冊元件。其實乙個filter就是乙個com元件,所以使用之前需要註冊,可以有兩種方法對元件進行註冊。1.直接使用命令。命令列下輸入 regsvr32 hqtlystd.ax 編譯之後你會在工程目錄下的debug中找到hqtlystd.ax,這個就是要用的filter 即可註冊成功。2.vc6....

MySQL使用學習使用 mysql學習使用

1 mysql學習 1 安裝 ubuntu下直接安裝 apt get install mysql server 2 檢查伺服器是否啟動 sudo netstat tap grep mysql,如果啟動成功,出現以下資訊 tcp00localhost.localdomain mysql listen ...