今天要求做一個跟魅族官網登陸的一個驗證效果一樣的界面
是一個拖動滑動圖檔進行拼圖
那個效果看着很好,剛開始拿到不知道好不好做
從網上搜資料發現這是一種“極驗驗證碼” 讓使用者通過滑動拼圖來進行驗證。
網上說在git中有demo,我就直接去下載下傳demo了,剛開始下載下傳的是一個php的demo
我需要使用的是.net的demo,就繼續下載下傳了.net的
demo位址貼出來:https://github.com/GeeTeam/gt-csharp-sdk
這個demo用webform編寫的,大概看了一下 實作的過程不難,但是當時不會,是以還是認真看了
我們項目需要用mvc來編寫 就繼續在網上搜尋有沒有關于mvc實作極驗的效果的
找到一個網站上說将webform改成了mvc.
将位址貼出來:http://www.tuicool.com/articles/ABj6F3i
這裡面的步驟是對的,就是在後面進行驗證的時候,在enhencedValidateRequest方法中出現了錯誤,未将對象引用到對象執行個體,方法裡面的參數都是空,我還糾結的找了半天原因,
最後就是因為我前台的登陸按鈕沒有進行表單送出,在控制台中request.form[]就擷取不到 但是我将前台表單進行送出後,在控制器中還是有錯誤,依舊的“未将對象引用到對象執行個體”。
我當時内心是拒絕的,最後發現在驗證的那個方法中,網上使用的是
注意紅色框,用的是async 異步處理,其實我到現在也不了解為毛要這樣,請原諒我是個超級菜鳥,Task就屬于多線程的東西了。
我将我自己的方法也加上了這個async Task... 最後是實作了驗證過程,但是!!有一個問題,加上這個關鍵字以後呢,這個方法執行了兩遍,第一遍走時,在request.form中并未擷取到值,但是走第二遍的時候就有值了~ 問題就出在走第二遍的時候,第二遍時,我自己本身方法中的參數值就自動變成null了,應該是異步處理,第二次參數已經沒有值了。
但是怎麼解決我仍然不知道。
希望看到的同伴們可以告訴我你們的解法