1. 程式人生 > 其它 >C# MVC 實現登入的5種方式

C# MVC 實現登入的5種方式

 最近悟出來一個道理,在這兒分享給大家:學歷代表你的過去,能力代表你的現在,學習代表你的將來。

   十年河東十年河西,莫欺少年窮。 

   學無止境,精益求精

   小弟之前做過三月的MVC,後來又一直webForm開發,再後來,也就是現在做WPF,最近隨著專案進入尾聲,也就慢慢清閒了下來,清閒的時間甚是無聊,索性隨便學學,於是乎:前面給大家貢獻了C# web api 返回型別設定為json的兩種方法解決webApi<Message>An error has occurred.</Message>不能寫多個Get方法的問題C# WebApi傳參之Get請求-AJAX

C# WebApi傳參之Post請求-AJAX等部落格,昨天來到公司還是啥事沒有,閒的蛋疼的我,沒事找事,就在網路上翻MVC相關知識,再後來,通過QQ,向我鄭州的女性朋友(~_~)索要MVC資料,她給我提供的是PDF格式MVC資料,本人一向討厭PDF檔案,所以就沒接收。於是乎,自己就開始瞎琢磨,開始了自己的MVC自學之旅。

   本篇介紹MVC實現登入的五種方式,如下:

   1、通過MVC Form 表單請求實現登入

   2、通過AJAX GET 請求MVC Controller 實現登入

   3、通過AJAX POST 請求MVC Controller 實現登入

   4、通過AJAX GET 請求webAPI Controller 實現登入

   5、通過AJAX POST 請求webAPI Controller 實現登入

   GO

   一、MVC Form 表單請求

   既然是表單請求,就必須為咱們的View新增一個Form,本文中我們採用傳統的Form格式,至於Razor中HtmlHelper提供的Form,本文不作探討,有興趣的小虎斑可參考上篇部落格:C# MVC提交表單的四種方式(轉)

   示例程式碼如下:

   

   很簡單,所需注意的地方,已經標出,譬如:Form 的action指向對應Controller的Logins方法、既然是Form 表單提交,有必要為<input>標籤新增相應的Name名稱、最後表單請求必須用到Submit按鈕

   SO,我們的前端設計就完成了

   後端程式碼則是更簡單啦,如下:

        /// <summary>
        /// 簡單示例登入-MVC 表單提交、AJAX GET請求、AJAX POST請求均可用此方法
        /// </summary>
        /// <param name="UserName">賬戶</param>
        /// <param name="UserPwd">密碼</param>
        /// <returns></returns>
        public int Logins(string UserName, string UserPwd)
        {
            if (UserName == "admin" && UserPwd == "admin")
            {
                return 200;//登入成功--RedirectToAction("Index");
            }
            return 0;//登入失敗
        }

    二、AJAX GET 請求:

   我們將View作如下修改:

   

   去掉了FORM 和 Submit 按鈕,<a> 標籤執行一個JS函式:login()

   login()方法如下:

   

   後端程式碼和上邊的一樣,不作變化

   在此解釋下紅線圈住的幾個引數及作用

   URL:請求的方法,通過:Controller/Action來指定

   Type:請求型別,Get和Post兩種

   contentType:客戶端傳送至服務端的資料型別,上截圖中的請求方式為Get,因此:contentType應取值為:"application/json",如果是POST請求,contentType應取值為:"application/x-www-form-urlencoded"。:如果是Get或Post 請求webApi介面,contentType應取值為:"application/json"。具體內容請參考本人部落格:C# WebApi傳參之Get請求-AJAXC# WebApi傳參之Post請求-AJAX

   dataType:服務端返回值型別,可以為XML HTML JSON Text 等

   Data:Get或Post的資料,由服務端接收

   後端程式碼和上述所貼程式碼一致。

   三、AJAx POST 請求

   VIew檢視和GET請求一致,不作變化,唯獨變化的就是contentType的取值和請求方式,程式碼如下:

   

   4、AJAX GET請求webAPI實現登入  大家可參考本人部落格:C# WebApi傳參之Get請求-AJAX

   5、AJAX POST請求webAPI實現登入  大家可參考本人部落格:C# WebApi傳參之Post請求-AJAX